启动器启动HotSpot VM时步骤
发布时间:2023-01-30 21:41:32 295
相关标签:
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方法,并将命令行选项传给它。
文章来源: https://blog.51cto.com/u_11315052/6025828
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报