标签: java java-native-interface
如answer to this question中所述,
默认情况下,在JNI方法中创建的所有jobject都是本地引用。每当JNI方法返回时,所有本地引用都会自动释放。
同时,
当不再需要全局引用时,它应该被DeleteGlobalRef删除,否则引用的对象永远不会被垃圾回收。
因此,为了将作业从JNI返回给Java,我们需要全局引用。但同时,如果无法从那里调用DeleteGlobalRef,我们如何才能最终在Java端进行垃圾收集呢?