Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
释放存储在Java对象中的本机指针?有没有类似于C&x27的东西;什么是可识别的?_Java_Java Native Interface - Fatal编程技术网

释放存储在Java对象中的本机指针?有没有类似于C&x27的东西;什么是可识别的?

释放存储在Java对象中的本机指针?有没有类似于C&x27的东西;什么是可识别的?,java,java-native-interface,Java,Java Native Interface,我正在编写调用C(使用JNI)并将本机指针作为long保存在类成员中的Java代码 在C#中完成此操作后,保存本机指针的类应该实现IDisposable 在Java中是否应该做类似的事情 Reed Copsey在C#中解释了原因: 当我们使用本机资源时,有两个问题需要解决 使用IDisposable的地址。第一个与时间有关——如果我们 使用本机资源,如果我们想停止使用它,我们应该 一种立即停止使用该资源的方法。第二个是关于 安全性–如果我们正在使用本机资源,并且现在已经使用完毕, 我们需要一种方

我正在编写调用C(使用JNI)并将本机指针作为
long
保存在类成员中的Java代码

在C#中完成此操作后,保存本机指针的类应该实现IDisposable

在Java中是否应该做类似的事情

Reed Copsey在C#中解释了原因:

当我们使用本机资源时,有两个问题需要解决 使用IDisposable的地址。第一个与时间有关——如果我们 使用本机资源,如果我们想停止使用它,我们应该 一种立即停止使用该资源的方法。第二个是关于 安全性–如果我们正在使用本机资源,并且现在已经使用完毕, 我们需要一种方法来确保资源被成功清理。 IDisposable可以帮助解决这两个问题


对象
有一个方法,当处置
对象
时,垃圾收集器会调用该方法。除此之外,Java中没有任何标准。我能想到的另一件可能与之相关的事情是Window.dispose,它释放系统UI资源