JVM生命周期
JVM的生命周期分为启动、执行和退出
JVM启动
JVM启动是通过引导类加载器(bootstrap class loader)创建一个初始类来完成的,这个类是由虚拟机的具体实现指定的
JVM执行
java虚拟机的任务就是执行java程序,程序执行时运行,程序结束时停止,在执行程序时实际上执行的是java虚拟机进程
JVM退出
JVM退出会有以下几种情况
- 程序正常执行结束
- 程序在执行过程中遇到了异常或错误而异常终止
- 由于操作系统出现错误导致java虚拟机进程终止
- 某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且java安全管理器也允许这次exit或halt操作
- JNI(Java Native Interface)规范描述了用JNI Invocation API来加载或卸载java虚拟机时,java虚拟机的退出情况