自学内容网 自学内容网

Java 内存模型(Java Memory Model)

1. 概述

对于 Java 程序员来说,在虚拟机⾃动内存管理机制下,不再需要像 样为每⼀个 new 操作去写对应的 delete / C/C++ 程序开发程序员这 free 操作,不容易出现内存泄漏和内存溢出问 题。正是因为 Java 程序把内存控制权利交给 JVM 虚拟机。⼀旦出现内存泄漏和溢出⽅⾯的问题, 如果不了解虚拟机是怎样使⽤内存的,那么排查错误将会是⼀个⾮常艰巨的任务。

2. 运⾏时数据区域划分

 JVM 虚拟机在执⾏ Java 程序的过程中会把它管理的内存划分成若⼲个不同的数据区域。

3. 程序计数器(Program Counter Register)

4. Java 虚拟机栈(VM Stack)

与程序计数器⼀样, VM Stack 虚拟机栈也是线程私有的,它的⽣命周期和线程相同,⽤于描述 Java ⽅法执⾏时的内存模 型,每次⽅法调⽤的数据都是通过栈传递的。

5. 本地⽅法栈(Native Method Stack)

6. 堆(Heap)

6.1. 新⽣代、⽼年代

6.2. 创建对象的内存分配

7. 元空间(Meta Space)


原文地址:https://blog.csdn.net/yyd686874/article/details/142359037

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!