如果我们查看 Java Object 类,我们可以找到一些方法,例如:
public native int hashCode()
protected native Object clone()
这些本地人是什么以及这些方法如何工作?
这些方法是固有的或者在 Java 外部以“本机”代码编写,即特定于给定机器的代码。
你提到的这些是固有的和 JDK 的一部分,但您也可以使用自己编写本机方法Java 本机接口 http://java.sun.com/docs/books/jni/(JNI)。通常使用 C 来编写方法,但许多其他语言(例如 python)允许您相当轻松地以这种方式编写方法。代码以这种方式编写,要么是为了性能,要么是因为它需要访问特定于平台的基础设施,而这在普通 java 中是无法完成的。
如果是hashcode()
,这是由 JVM 实现的。这是因为哈希码通常与只有 JVM 知道的东西相关。在早期的 JVM 上,这与对象在内存中的位置有关 - 在其他 JVM 上,对象可能在内存中移动,因此可以使用更复杂(但仍然非常快)的方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)