JVM 内存区域
2020-10-26 19:09:35 0 举报
JVM内存区域描述
作者其他创作
大纲/内容
运行时常量池 是方法区的一部分,用于存放编译期生成的各种字面量和符号引用。
堆Heap
线程隔离的数据区
虚拟机栈VM Stack
方法区Method Area
所有线程共享的数据区
Java 堆 是 Java 虚拟机所管理的内存中最大的一块,被所有线程共享,在虚拟机启动时创建,几乎所有的对象实例都在这里分配内存。也是垃圾回收的主要区域,故也被称作 \"GC 堆\"。
执行引擎
本地方法栈 为虚拟机使用到的 Native 方法服务。
程序计数器 是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器
程序计数器是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError 情况的区域;虚拟机栈、本地方法栈、Java 堆、方法区、运行时常量池、直接内存均会抛出 OutOfMemoryError 异常,其中虚拟机栈和本地方法栈会抛出 StackOverFlowError 异常。
运行时数据区
本地方法栈Native Method Stack
本地库接口
程序计数器Program Counter Register
虚拟机栈描述的是 Java 方法执行的内存模型:每个方法在执行时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。
方法区 是各个线程共享的内存区域,用于存储已被加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,别名:非堆(Non_Heap)。
本地方法库
0 条评论
下一页