这些方法是 本 机的,也可能是在Java外部用“本机”代码编写的,也就是说,特定于给定的计算机。
您提到的是 _内部的,_并且是JDK的一部分,但是您也可以自己使用Java本机接口(JNI)编写本机方法。通常,这将使用C来编写方法,但是许多其他语言(例如python)使您可以相当轻松地以这种方式编写方法。这种代码是出于提高性能的目的而编写的,或者因为它需要访问特定于平台的基础架构而无法用纯Java完成。
在的情况下
hashpre(),这是由JVM实现的。这是因为哈希码通常与JVM知道的东西相关。在早期的JVM上,这与对象在内存中的位置有关-
在其他JVM上,对象可能在内存中移动,因此可以使用更复杂(但仍然非常快)的方案。



