一、虚拟机的启动
Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。
二、虚拟机的执行
- 一个运行的java虚拟机有一个明确的任务:执行java程序。
- 程序开始执行时它才运行,程序结束时它就停止。
- 执行一个java程序的时候,其实是执行一个java虚拟机的进程。
三、虚拟机的退出
退出的几种情况:
- 程序正常结束。
- 程序正在执行的过程中遇到异常或错误而异常终止。
- 由于操作系统出现错误而导致java虚拟机进程终止。
- 某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且java安全管理器也允许这次exit或halt操作。
- JNI(java native interface)规范描述了用JNI Invocation API来加载或卸载java虚拟机时,java虚拟机的退出情况。