Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.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 什么是弱全局引用?它与全局引用有何不同?_Java_C_Java Native Interface_Weak References - Fatal编程技术网

Java 什么是弱全局引用?它与全局引用有何不同?

Java 什么是弱全局引用?它与全局引用有何不同?,java,c,java-native-interface,weak-references,Java,C,Java Native Interface,Weak References,JNI中的弱全局引用是什么?它与全局引用和局部引用有何不同?如果对象只有弱引用,gc可以将其从内存中清除 软引用是指当gc想要清除对象时,不阻止它的引用。但是,如果软引用引用了一个对象,gc会在可能的情况下尝试将该对象保留在内存中。我认为您的问题的答案可以在这里找到: 如其所述: 本地引用和全局引用具有不同的生存期。本地参考 自动释放,而全局引用和弱全局引用 在程序员释放它们之前保持有效 本地引用和全局引用之间的区别在于:上下文 局部引用只是一个局部变量。一旦脱离其上下文(如从定义它的本机函数

JNI中的弱全局引用是什么?它与全局引用和局部引用有何不同?

如果对象只有弱引用,gc可以将其从内存中清除


软引用是指当gc想要清除对象时,不阻止它的引用。但是,如果软引用引用了一个对象,gc会在可能的情况下尝试将该对象保留在内存中。

我认为您的问题的答案可以在这里找到:

如其所述:

本地引用和全局引用具有不同的生存期。本地参考 自动释放,而全局引用和弱全局引用 在程序员释放它们之前保持有效

本地引用和全局引用之间的区别在于:上下文

局部引用只是一个局部变量。一旦脱离其上下文(如从定义它的本机函数返回),底层对象将被销毁

与全局引用一样,弱全局引用在整个 本机方法跨不同线程调用和。不像全球 引用,弱全局引用不会保留基础对象 从被垃圾收集


弱全局引用与全局引用之间的区别是,如果需要的话,弱引用的对象可以被收集起来(在内存不足的情况下)。

您是否考虑在JNI规范中查找它定义的“弱全局引用”,而不是java. Lang.R..MauleRf。这是JNI。