Java虚拟机(JVM)分配了多少种类型的内存区域?


Java Virtual Machine (Java虚拟机)是一个程序/软件,它接收Java字节码(.class文件),并将字节码(逐行)转换为机器可理解的代码。

JVM包含一个称为类加载器的模块。JVM中的类加载器加载、链接和初始化程序。它:

  • 将类加载到内存。

  • 验证字节码指令。

  • 为程序分配内存。

JVM内存位置

JVM有五个内存位置,即:

  • 堆 (Heap) - 对象(引用类型)的运行时存储分配。

  • 栈 (Stack) - 用于局部变量和中间结果的存储。栈包含帧,并为每个线程分配一个帧。线程完成后,该帧也会被销毁。它还在方法调用和返回中扮演角色。

  • 程序计数器 (PC Registers) - 程序计数器包含JVM当前正在执行的指令的地址。

  • 执行引擎 (Execution Engine) - 它具有虚拟处理器、解释器(逐个解释字节码指令)和JIT(即时)编译器。

  • 本地方法栈 (Native method stacks) - 它包含应用程序使用的所有本地方法。

更新于:2019年10月14日

浏览量:1K+

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.