简单的说,流程如下:
- java.c
JLI_Launch
SetJavaCommandLineProp()
这里会产生-Dsun.java.command。其实并无用处。
- java_md_solinux.c:JVMInit
- java.c:ContinueInNewThread
- java_md_solinux.c:ContinueInNewThread0
- java.c:JavaMain
- jni.cpp
此时参数已完备
JNI_CreateJavaVM()
- thread.cpp
create_vm()
- arguments.cpp
parse()
parse_vm_init_args
parse_each_vm_init_arg
(比如把参数加到系统属性中:add_property)