【发布时间】:2018-02-22 16:04:54
【问题描述】:
在thread.cpp 中定义了方法Threads::create_vm 来初始化主线程 和VM 线程。虽然我找到了这个代码位置,但我想知道 主线程 如何知道要执行哪个 Java main() 方法,即在哪个类中查找,但我找不到.
在VM创建之后(甚至之前),我想尽快获取包含main方法的类的类名(及其包)(第一步,只需printf它)。我曾考虑查看主线程堆栈框架中最底部的条目,但在Threads::create_vm 期间堆栈框架尚不存在。有人可以帮我指出正确的方向吗?
tl;dr:我想修改OpenJDK源码来打印包含Javamain()方法的类的类名,怎么做?
【问题讨论】:
标签: java jvm openjdk jvm-hotspot