HotSpot销毁和内部结构的简单分析

前言

 想要分析一个项目的源码,首先要知道这个项目的目录结构,然后再根据结构进行拆分分析,HotSpot在解压后发现,主要由四个子目录组成了整个项目

  1. agent:包含了Serviceability Agent 的 客户 端 实现;
  2. make:包含了用户build出HotSpot的各种组件
  3. src:最重要的目录,包含了源码实现,如果说cpu实现,操作系统实现,与平台无关性实现
  4. test:包含了一些测试用例

下面是HotSpot的结构图(注:摘取子java虚拟机精讲)

Launcher简介:

 Launcher是一种用于启动jvm进程的启动器,具体可以划分为两种,也就是我们在windows下面使用的java. exe 和 javaw. exe 程序,他们的区别就是是否会保留控制台并打印程序的输出信息,它的具体使用方法可以使用-help来进行

Launcher销毁虚拟机

在执行完成主进程之后,虚拟机会与其断开连接,然后等待所有的非守护进程结束之后,将jvm虚拟机进行销毁,注意:在程序中,可以显示的使用System.exit(0)对jvm进行显示的销毁,这也是如果使用了System.exit(0)之后,finally块中的语句会停止执行的原因,但如果显示的使用了System.exit的话,Launcher就不会在调用销毁jvm的函数了 

猜你喜欢

转载自blog.csdn.net/zhttly/article/details/83508767
今日推荐