Dar*_*der 15 java garbage-collection dispose
C#支持使用dispose模式进行确定性垃圾收集的一次性模式.
java有这样的模式吗?
Java 7有autoclosable,你可以使用try finally blocks来调用close方法.
7之前的版本怎么样?
Java 5或6是否有一次性模式(确定性垃圾收集)?
Jon*_*eet 19
Java 7之前最接近的只是"手动"try/finally块:
FileInputStream input = new FileInputStream(...);
try {
// Use input
} finally {
input.close();
}
Run Code Online (Sandbox Code Playgroud)
using当我第一次从Java背景开始使用C#1.0时,这句话是我发现最好的C#之一.最后在Java 7中看到它很好:)
您还应该考虑Closeables在Guava中 - 它允许您不必担心引用是否为null(就像using语句一样),并且可选择"关闭时记录和吞下"异常,以避免任何此类异常有效地"覆盖"从try块抛出的异常.
处理模式的全部目的是支持C#的独特using (temporaryObject) 模式.Java在7之前就没有那种模式了.
具有资源的所有Java对象都通过手动关闭保存资源的对象来支持处置模式.
| 归档时间: |
|
| 查看次数: |
17344 次 |
| 最近记录: |