一、JVM启动
java虚拟机的启动时通过引导类加载器(bootstrap class loader)创建的一个初始类来完成的,这个初始类由具体的虚拟机实现指定。
虚拟机的启动是按需启动,只有在程序用到的时候才会启动,一个虚拟机对应的一个进程,可以通过jps查询相应的进程。
二、JVM的执行
- 一个运行中Java虚拟机有着一个清晰的任务:执行java程序。
- 程序开始执行时它才会运行,程序结束时他就停止(生命周期是与程序同步的)。
- 执行一个所谓的Java程序的时候,真正执行的是一个叫做java虚拟机的进程。
三、JVM的退出
- 程序正常退出
- 程序在执行过程中遇到异常或错误而异常退出
- 由于操作系统出现错误而导致java虚拟机进程终止
- 某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且java安全管理器也允许支持exit或者halt操作。
- 除此之外,JNI(Java Native Interface)规范描述了JNI Invocation API来加载或卸载java虚拟机时,java虚拟机退出的情况。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/100456.html