返回

启动器启动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方法,并将命令行选项传给它。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
如何让Java编译器帮你写代码 2023-01-30 21:08:56