在Java中检测和处理第三方库文件句柄泄漏

tuc*_*uxi 0 java file

有什么方法来检测和处理Java库是否正确释放文件句柄从(通过"关闭")正在使用该库中的Java程序,短期有机会获得实际的库代码,并插入相应的"最后的关闭"声明?

如果检测是可行的,有没有办法关闭那些文件句柄而不引用正在读取文件的Reader(或FileInputStream)?

Ale*_*tis 5

我认为Kohsuke的文件检漏仪非常接近所要求的(差不多4年前).它是一个Java代理,"跟踪JVM中打开文件的位置/时间/谁.您可以让代理跟踪这些操作以了解访问模式或处理泄漏,并转储当前打开的文件列表以及/何时/谁打开他们".以上链接中的更多信息.