我正在编写调用C(使用JNI)的Java代码,并将一个类成员的本机指针保存为long
。
当我在C#中完成此操作时,保存本机指针的类应该实现IDisposable。
在Java中是否应该有类似的东西?
Reed Copsey的This post在C#中解释了原因:
当我们使用本机资源时,我们需要解决两个问题 使用IDisposable的地址。第一个涉及时间 - 如果我们是 使用本机资源,我们想停止使用它,我们应该 一种立即停止使用该资源的方法。第二个涉及到 安全 - 如果我们使用本机资源,现在已经完成了, 我们需要一种方法来确保成功清理资源。 IDis可以帮助解决这两个问题。
答案 0 :(得分:0)
Object
有一个方法finalize,当处置Object
时,垃圾收集器会调用该方法。除此之外,Java中没有任何标准。我能想到的唯一可能与之相关的是Window.dispose,它释放系统UI资源。