Native peer在Effective Java(2nd)中定义如下
A second legitimate use of finalizers concerns objects with native peers. A native peer is a native object to which a normal object delegates via native methods. Because a native peer is not a normal object, the garbage collector doesn’t know about it and can’t reclaim it when its Java peer is reclaimed.
在另一个问题中用例子解释了java peer。是 java 类 PrintHello
还是另一个使用 PrintHello
的类?
这里哪个部分被称为本地对等点,哪个部分是 Java 对等点,有什么例子吗?我了解 finalize 的用法,我只是对引用的 native 对等部分感到困惑。
最佳答案
native 对象不仅可以用 java 编程,还可以用特定于平台的语言(通常是 c 或汇编语言)编程。
这段代码分配的内存不能被 GC 释放。因此,您可能需要在终结器中对其进行清理。
native 对等点是 Java 对象的 native 部分。
你可以在这里看到一个很好的例子: https://www.javaworld.com/article/2077520/learn-java/java-tip-23--write-native-methods.html
关于java - 什么是本地对等体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48260485/