Oracle的Java中的native方法的源码是不开源的,想查看native是如何实现的,可以通过openJDK来查看。
具体操作流程如下:
举个例子吧,比如我想查看sun.misc.Unsafe#compareAndSwapInt
的Native源码
public final native boolean compareAndSwapInt();
- 打开OpenJDK官网:http://hg.openjdk.java.net/
- 选择你要查看的JDK版本,这里以1.8为例
- 选择 master版本的 Hotspot文件夹
- 你可以选择
browse
进行浏览,也可选择zip
或gz
进行下载,我为了演示就在线浏览了。 - 选择
browse
后,进去选择src
- 进入
share
- 选择
vm
- 选择
prims
- 好了,搜索一下 unsafe.cpp 点击进入