ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
JNI以引用的方式暴露对象实例和数组类型。Native代码是无法直接访问引用指向的真实的内容的指针。使用引用的方式,你不需要关心不同Java虚拟机实现中对象真实的内存布局,只需要知道怎么用它就可以了。当然,你还是有必要了解不同类型的引用之间的不同之处。 * JNI支持三种类型的医用:局部引用,全局引用和全局弱引用。 * 局部引用和全局引用的声明周期是不同的,局部引用会被自动释放,而全局引用和弱引用需要手动释放。 * 局部引用和全局引用会阻止被引用的对象被当做垃圾回收。而全局弱引用则不会(这也是他为什么叫“弱”引用的原因)。 * 并不是所有的引用都可以被用在所有上下文,一个函数内的局部引用是不能够在函数被返回之后被继续访问的。 这一节,我们会详细的讨论这个主题,合理的管理JNI引用对于程序的可靠性和内存占用性能是只管重要的。