如何在jvm源码中定位到某个Java本地方法对应的本地方法源码?

比如说java.lang.Object#wait(),如何在jvm源码定位它?

忽然笑
浏览 1177回答 1
1回答

慕少森

从 jdk/src/share/native/java/lang/Object.c 文件里, 你可以找到static JNINativeMethod methods[] = {     {"hashCode",    "()I",                    (void *)&JVM_IHashCode},    {"wait",        "(J)V",                   (void *)&JVM_MonitorWait},    {"notify",      "()V",                    (void *)&JVM_MonitorNotify},    {"notifyAll",   "()V",                    (void *)&JVM_MonitorNotifyAll},    {"clone",       "()Ljava/lang/Object;",   (void *)&JVM_Clone},};所以你需要在原生代码里看看JVM_MonitorWait你可以用grep去检索, 更好的工具是 source insight
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java