在Java中有的代码使用native标识,这种代码是用非Java语言编写,通常实现在本地的动态链接库中,无法直接查看源代码,比如以下代码
private native final Class<?> findLoadedClass0(String name);
是 java.lang.ClassLoader 类中的 native方法
下载 我上传的 open-jdk-8-源码 源码包,或者是去 open-jdk-官网源码 官网下载。
解压进入根目录,再次进入
jdk/src/share/native/
目录中,根据类的全路径名去查找类的native实现
即 java.lang.ClassLoader 的native实现在
jdk/src/share/native/java/lang/ClassLoader.c
中,native中对应方法的声明为
Java_java_lang_ClassLoader_defineClass0
即可查看native的具体实现