mac_girl

java的内存区域 && java内存模型

java内存区域: java运行时的数据区域,jvm运行时将数据分区存储,强调对内存空间的划分。
java内存模型(JMM):定义线程与主线程之间的抽象关系,定义了jvm在计算机内存(RAM)的工作方式

Java 虚拟机有自动内存管理机制
内存泄漏:“
内存溢出:‘’


本地方法栈:native methods stacks
本地方法栈则为虚拟机使用到的 Native 方法服务

虚拟机栈:vm stack
线程私有的,它的生命周期与线程相同
描述的是 Java 方法执行的内存模型,个方法在执行的同时都会创建一个栈帧(Stack Frame,是方法运行时的基础数据结构)用于存储局部变量表、操作数栈、动态链接、方法出口等信息

程序计数器:pc
是一块较小的内存空间,线程私有.
线程正在执行的是一个 Java 方法, 计数器记录的是正在执行的虚拟机字节码指令的地址,如果正在执行的是 Native 方法
如果正在执行的是 Native 方法,这个计数器值则为空(Undefined)内存区域是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError 情况的区域。

堆区: heap
Java 堆(Java Heap)是 Java 虚拟机所管理的内存中最大的一块,堆是垃圾收集器管理的主要区域

元数据区(方法区): meta space

posted on 2021-01-20 11:27  宇宙美少女  阅读(62)  评论(0编辑  收藏  举报

导航