JVM的构成(3分钟让你了解JVM)

JVM的组成: 

  1. 类加载器:在 JVM 启动时或者类运行时将需要的 class 加载到 JVM 中

  2. 执行引擎:执行引擎的任务是负责执行 class 文件中包含的字节码指令,相当于实际机器上的 CPU

  3. 内存区:将内存划分成若干个区以模拟实际机器上的存储、记录和调度功能模块,如实际机器上的各种功能的寄存器或者 PC 指针的记录器等

  4. 本地方法调用:调用 C 或 C++ 实现的本地方法的代码返回结果

内存区包括:

  1. 虚拟机栈:线程私有,每个方法在执行时会创建一个栈帧,存储了局部变量表、操作数栈、动态连接、方法返回地址等。每个方法从调用后到执行完毕,对应一个栈帧,在虚拟机栈中的入栈和出栈。
  2. :线程共享,被所有线程共享的一块内存区域。在虚拟机启动时创建,用于存放对象实例。
  3. 方法区:线程共享,被所有线程共享的一块内存区域。用于存储已被虚拟机加载的类信息、常量、静态变量等。
  4. 程序计数器:线程私有,是当前线程所执行字节码的行号指示器,每条线程都要有一个独立的程序计算器。这类内存也称"线程私有"的内存。
  5. 本地方法栈:线程私有,主要为虚拟机使用到的Native方法服务。


猜你喜欢

转载自blog.csdn.net/liyingjie0317/article/details/80654449