java.c:1458
InitializeJVM
函数初始化jvm虚拟机,
JavaMain
以新的线程启动jvm
.h标识不同的系统实现方式不同
-
java.c:LoadJavaVM 加载libjvm.so动态链接库
-
java.c:ParseArguments 解析参数,找出mode(运行模式:main class、jar file)、what(主类)等等
-
java.h:JVMInit 主要执行
ContinueInNewThread
-
java.c:ContinueInNewThread 创建java main方法的参数,并执行
ContinueInNewThread0
-
java.h:ContinueInNewThread0 新建一个线程执行
JavaMain
函数,并阻塞(调用pthread_join
) -
java.c:JavaMain
-
- 调用
InitializeJVM
创建jvm - Main找出java主类(这里不一定是main方法,javaFX就没有main方法)
- 构建主类的参数
- 执行main方法
- 调用
大约 3 分钟