当前位置 : 主页 > 编程语言 > java >

启动器启动HotSpot VM时步骤

来源:互联网 收集:自由互联 发布时间:2023-02-04
1、解析命令行选项。启动器会直接处理一些命令行选项,例如-client或-server,它们决定加载哪个JIT编译器,其他参数则传给HotSpot VM; 2、设置堆的大小和JIT编译器。如果命令行没有明确设

1、解析命令行选项。启动器会直接处理一些命令行选项,例如-client或-server,它们决定加载哪个JIT编译器,其他参数则传给HotSpot VM;

2、设置堆的大小和JIT编译器。如果命令行没有明确设置堆的大小和JIT编译器(client或server),启动器则通过自动化有进行设置。自动优化的默认设定因系统配置和操作系统而有所不同;

3、设定环境变量,例如LD_LIBRARY_PATH和CLASSPATH;

4、如果命令行有-jar选项,启动器则从指定JAR的manifest中查找Main-Class,否则从命令行读取Main-Class;

5、使用标准Java本地接口(Java Native Interface,JNI)方法JNI_CreateJavaVM在新创建的线程中创建HotSpot VM。与后创建的线程相比,初始线程是启动新进程时操作系统内核分配的第一个线程,而新建HotSpot VM进程中运行的初始线程也是同样道理。不在初始线程中创建HotSpot VM,是为了可以对它进行定制,例如Windows上更改栈的大小;

6、一旦创建并初始化好HotSpot VM,就会加载Java Main-Class,启动器也会从Java Main-Class中得到Java main方法的参数。

7、HotSpot VM通过JNI方法CallStaticVoidMethod调用Java main方法,并将命令行选项传给它。

上一篇:Launcher启动器
下一篇:没有了
网友评论