返回

Launcher启动器

发布时间:2023-01-30 22:02:11 225
# java# java# windows# 数据# 信息

由Launcher负责调用HotSpot的核心代码对JVM执行初始化,以及由它负责维护JVM的整个生命周期。

Launcher是一种用于启动JVM进程的启动器,并且可以根据类型划分为两种不同的Launcher,一种是正式版的启动器,也就是大家在windows平台下经常用到的java.exe和javaw.exe程序。前者在运行时会保留控制台,以及显示程序的输出信息。而后者主要是用于执行Java的GUI程序,也就是说,使用javaw.exe执行Java程序时不会显示任何的程序的输出信息。

从严格意义上来说,Launcher只是一个封装了虚拟机的执行外壳,由它负责状态JRE环境和windows平台下的jvm.dll动态封装库,也就是说,当执行多个Java程序时,也就意味着同时启动了多个JVM进程。

JVM的初始化操作其实就是HotSpot执行启动的前提条件,并且在初始化过程中还涉及到HotSpot中的一些核心模块的初始,例如初始化OS模块、初始化全局数据结构、启动线程、初始化全局模块等。

一旦Java程序或者Java main方法执行结束,HotSpot VM就必须检查和清理所有程序或者方法执行过程中生成的未处理异常。此外,方法的退出状态和线程的退出状态也必须返回它们的调用者。调用Java本地接口方法DetachCurrentThread将Java main方法与HotSpot VM脱离(Deteched)。每次HotSpot VM调用DetachCurrentThread时,线程数就会减1,因此Java本地接口知道何时可以安全地关闭HotSpot VM,并能确保当时HotSpot VM中没有正在执行的操作,Java栈中没有激活的Java帧。

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