【发布时间】:2016-05-20 10:38:05
【问题描述】:
所以我已经阅读了有关自动关闭界面的所有内容并尝试使用资源,但这让我想知道:
如果我不(忘记)包装一个实现 AutoCloseable 的类并尝试在使用该类的代码中使用资源,但该类确实从操作系统获取资源,会发生什么情况? 虽然不能保证 JVM 会决定何时调用其垃圾收集器,但当它决定时,它会调用 close() 方法吗?
如果没有,我会错过 C++ 的析构函数吗? :) 是否有类似的方法可以确保从该类的代码而不是用户的代码中,一旦对象应该被释放(例如超出范围),它将释放它占用的所有操作系统资源?
【问题讨论】: