sun.misc.Unsafe 的本机方法在哪里实现?

2022-09-04 21:07:42

我一直在阅读sun.misc.Unsafe类(openjdk6),因为我很好奇它实际上引用了多少种本机方法。可以理解的是,该类中有大量的本机方法,但是我似乎找不到它们在哪里实现。

我已经浏览了openjdk6存储库,虽然我可以找到其他类的本机方法的实现,但我找不到不安全的方法。我猜它们不是openjdk代码,而是作为热点的一部分编译的?

我是否在openjdk中找错了地方,或者它们确实在热点中实现?如能提及其所在地,将不胜感激。


答案 1

Openjdk版本可以在这里找到:

http://hg.openjdk.java.net/jdk6/jdk6/hotspot/file/4fc084dac61e/src/share/vm/prims/unsafe.cpp

http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/4fc084dac61e/src/share/vm/prims/unsafe.cpp

编辑:

正如8472所指出的,这些是解释器模式中使用的本机实现。它们中的大多数在热点中都有内在实现。此头文件列出了内部文件(搜索“sun_misc_Unsafe”)。


答案 2

推荐