1、虚拟机的启动
java虚拟机的启动是通过 引导类加载器(bootstrap class loader)创建一个初始类(initial class)完成的,这个类是由虚拟机的具体实现来指定的
2、虚拟机的执行
- 一个运行中的java虚拟机有着一个清晰的任务,执行java程序
- 程序开始执行时他才运行,程序结束时他才停止
- 执行一个所谓的java程序的时候,真正在执行的是一个叫做java虚拟机的进程
3、虚拟机的退出
- 程序正常执行结束
- 程序在执行过程中遇到异常或错误而异常终止
- 由于操作系统出现错误而导致java虚拟机进程终止
- 某些线程调用Runtime或System类的exit方法,或Runtime类的halt方法,并且java安全管理器也允许这次exit或halt操作
- JNI规范描述了用JNI INvocation Api来加载或卸载java虚拟机时,java虚拟机退出情况
注:
- JVM实例对应了一个独立运行的java程序——进程级别
- JVM执行引擎实例则对应了属于运行程序的线程——线程级别