jvm生命周期
- 虚拟机的启动
java虚拟机的启动是通过引导类加载器(Bootstrap Class Loader)创建一个初始类来完成的,这个类有虚拟机的具体实现来指定,不同厂商的虚拟机具体实现不同。 - 虚拟机的执行
1.一个运行中的java虚拟机的任务:执行java程序
2.程序开始执行,虚拟机运行,程序结束,虚拟机就结束
3.真正在执行的是java虚拟机的进程 -
虚拟机的退出
1.程序正常执行结束
2.程序在执行过程中遇到异常或者错误而终止
3.操作系统错误导致虚拟机终止
4.某个线程调用Runtime类或System类的exit方法,或者Runtime类的halt方法,并且java安全管理器允许这次exit或halt操作(System.exit方法内部实现为Runtime.exit()[图片上传中...(调用函数退出虚拟机.png-e6c997-1592212976375-0)]
)
5.用JNI的Invocation API来加载或卸载java虚拟机时,java虚拟机退出的情况。
函数调用退出虚拟机
JVM架构-简图.jpg
网友评论