大多数情况下,我看到的finally块仅用于
FileInputStream f;
try{
f= new FileInputStream("sample.txt");
//something that uses f and sometimes throws an exception
}
catch(IOException ex){
/* Handle it somehow */
}
finally{
f.close();
}
我的问题是,如果f的范围以封闭块结尾,为什么我们需要在finally中将其关闭?
因为垃圾回收与资源清理 不是 一回事。
例如,如果您有一个超出范围的JDBC连接对象,则没有信号发送到数据库服务器以指示不再需要打开的游标和连接。没有这些消息,您最终将耗尽可用的游标和连接数。
与文件句柄和任何其他资源相同。自己清理后。
这里我的问题是在关闭连接对象时,在以下情况下会出现什么问题。 > 假设没有发生异常,在try块中它会自动关闭连接对象。 如果发生某些异常,它将转到catch块,在那里它将自动关闭连接对象。 关闭finally块中的连接对象。 注意:请不要说最后块中关闭连接对象很好。我知道那个。如果我在try块中保持关闭连接,接球块是否有任何问题请解释。
问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在为公司Intranet创建一个Web应用程序,因为该系统的其他部分是用Java编写的,因此出于集成目的,选择Java作为Web前端。 有要求: 必须在短
我是个新手,我已经开始学习了。但我有些问题。为什么我们需要使用Mockito?据我所知,它用于模拟(创建虚拟对象),并在实际运行代码之前编写测试用例。但是,如果我想测试我已经实现的代码,以检查它们是否正常工作,该怎么办。我怎么用mockito来测试它呢? 例如,我有CRUD方法,我想通过实际使用我的Create方法在数据库中插入数据来测试Create是否正常工作,其他人也是如此。我们能用莫基托来实
问题内容: 我开始使用RxJS,但我不明白为什么在此示例中我们需要使用类似or 的函数;数组的数组在哪里? 如果有人可以直观地解释正在发生的事情,那将非常有帮助。 问题答案: 当您有一个Observable的结果是更多Observable时,可以使用flatMap。 如果您有一个由另一个可观察对象产生的可观察对象,则您不能直接过滤,缩小或映射它,因为您有一个可观察对象而不是数据。如果您生成一个可观
我遵循这个例子,让我的页脚停留在我的网站底部。 它正在工作,但我需要用style
问题内容: 基数实际上是什么意思?我们为什么需要它? 问题答案: 您可能并不总是希望将整数解析为以10为底的数字,因此提供基数可以指定其他数字系统。 基数是一位数字的值数。十六进制为16。八进制为8,二进制为2,依此类推… 在该函数中,您可以执行一些操作来提示基数而不提供基数。如果用户输入的字符串与其中一个规则匹配,但没有明确规定,则这些方法也可能对您不利。例如: