jvm内存结构
JVM(Java虚拟机)内存结构包括以下几个部分:
-
程序计数器(Program Counter Register):记录当前线程执行的字节码指令的地址。
-
Java虚拟机栈(Java Virtual Machine Stacks):每个线程都有一个私有的栈,用于存储方法的局部变量、方法参数、部分结果等。每个方法在执行时,都会创建一个栈帧(Stack Frame),栈帧包含方法的局部变量表、操作数栈、动态链接、方法出口等信息。
-
本地方法栈(Native Method Stack):与Java虚拟机栈类似,但是为本地方法服务。
-
堆(Heap):存放对象实例和数组的内存区域。所有线程共享的内存区域,被所有线程访问和操作。
-
方法区(Method Area):存放类的信息、常量、静态变量等数据。所有线程共享的内存区域,被所有线程访问和操作。
-
运行时常量池(Runtime Constant Pool):方法区的一部分,用于存放编译时生成的各种字面量和符号引用。包括字符串常量、类和接口的全限定名、字段和方法的名称和描述符等。
-
直接内存(Direct Memory):JVM直接访问的内存区域,不受JVM内存限制,与Java堆密切相关。
原文地址: https://www.cveoy.top/t/topic/i5hD 著作权归作者所有。请勿转载和采集!