JVM生命周期?

时间:2012-08-16 21:52:30

标签: java jar jvm

当我们调用java -jar JAR_FILE.jar直到JVM完成其工作并返回时,我需要一步一步地解释发生了什么。

如何让舞台为JVM在主机上运行做好准备? 叫什么功能?创建了什么线程?
当JVM要关闭时会发生什么?

1 个答案:

答案 0 :(得分:1)

以下是我的高级别步骤列表。

  1. JVM启动并设置GC将管理的各种内存区域,它还将设置一些系统线程
  2. 查看jar文件清单以确定具有要加载的主要方法的类
  3. 加载主类并验证刚刚加载的类中的字节代码是否正确并且没有做任何非法操作。
  4. 解析正在加载的类所需的类,并加载每个正在加载的类的类通过步骤3和4
  5. 找到main方法的字节代码并执行它。
  6. 这是一个非常简化的列表,完整的细节更具体,可能依赖于JVM实现。

    您可能希望查看本书内部Java虚拟机第2版,以获取比JVM规范更可读的内容http://www.artima.com/insidejvm/ed2/