JVM运行时数据区简介说明
我们都知道java程序是运行在JVM虚拟机上,JVM将内存分为多个不同的区域
这些数据区域,有的会随着进程的创建而存在,有的区域会随着线程的启动和结束而创建和销毁
这些数据区域,有的会随着进程的创建而存在,有的区域会随着线程的启动和结束而创建和销毁
JVM内存区域简介说明
JVM内存区域简介
Java堆(Java Heap): Java虚拟机中内存最大的一块, 是被所有线程共享的,几乎所有的对象实例都在这里分配内存 方法区(Method Area): 用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等数据 Java 虚拟机栈(Java Virtual Machine Stacks) 用于存储局部变量表、操作数栈、动态链接、方法出口等信息 本地方法栈(Native Method Stack): 与虚拟机栈的作用是一样的,只不过虚拟机栈是服务 Java 方法的 而本地方法栈是为虚拟机调用Native方法服务 程序计数器(Program Counter Register): 当前线程所执行的字节码的行号指示器,字节码解释器的工作是通过改变这个计数器的值, 来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能 都需要依赖这个计数器来完成
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。