jvm工作原理

发布时间 2023-09-26 11:50:30作者: 爱吃糖的橘猫
  1. 加载:JVM 在启动时会加载 Java 类的字节码文件(.class 文件),将这些字节码加载到内存中。

  2. 验证:JVM 会验证加载的字节码是否符合 Java 虚拟机规范,确保字节码的安全性。

  3. 准备:JVM 会为类的静态变量分配内存,并设置初始值。

  4. 解析:JVM 会将字节码转换为 Java 虚拟机内部的数据结构,如运行时常量池、字段和方法数据等。

  5. 执行:JVM 会根据解析后的数据结构执行 Java 代码,包括方法调用、循环、条件判断等。

  6. 内存管理:JVM 负责内存的分配和回收,包括堆内存、栈内存和静态变量内存等。

  7. 异常处理:JVM 会捕获和处理 Java 代码中的异常,如 NullPointerException、ArrayIndexOutOfBoundsException 等。

  8. 垃圾回收:JVM 通过垃圾回收算法来自动回收不再使用的内存空间,减少内存泄漏的风险。

  9. 程序退出:当 Java 程序执行完毕或出现异常时,JVM 会进行退出清理工作,包括内存回收、关闭资源等。