永久存储区(permanent space)jvm驻留内存,存放jdk自身的Class和interface数据,以及java应用程序的Class和interface数据,gc不会回收这个区域的数据,jvm关闭时,释放该区域内存。
堆空间:分为年老区(old)和新生区(young),新生区分为伊甸区(eden)和幸存区(survivor),其中一个eden区两个survivor区,比例为8:1;
java应用程序创建的对象在eden区产生,如果eden区内存不够,gc回收eden区,清空eden区,将仍然存活的对象放入其中一个survivor中,如果survivor区空间能够放的下将存活的对象直接放到survivor中,如果survivor空间不足,则对survivor回收,将eden的存活对象以及survivor中存活的对象放到另一个survivor中,同时清空当前使用的survivor区,如果另外一个空是survivor区仍然不能够存放存活的对象,则将对象放到年老区,如果年老区也不能存放存活的对象,则抛出内存溢出。
分享到:
相关推荐
JVM 内存管理之道 JVM垃圾回收机制 JVM GC组合 JVM 内存监控工具
JVM内存管理
JVM内存管理和垃圾回收 JVM内存管理和垃圾回收 JVM内存管理和垃圾回收
sun公司出版的jvm运行机制管理丛书,需要深入jvm的同学可以下载来看看
详细介绍了JVM 内存管理相关知识 内存空间( VM运行时数据区域) ◦ 内存结构 ◦ 内存空间 内存分配 内存回收(GC) 内存分析工具
JVM内存管理知识思维导图.png
对于深入掌握的java的人士,对于内存管理是不得不看的东西
Sun JVM原理与内存管理
从JVM内存管理的角度谈谈静态方法和静态属性
JVM内存管理和垃圾回收.pdf
JVM内存管理面试常见问题全解.doc
JVM内存管理和垃圾回收参考.pdf
JVM内存管理和垃圾回收知识.pdf
JVM内存管理白皮书[借鉴].pdf
JVM内存管理的介绍,编写GC友好的代码。 本材料主要关心 Sun Hotspot JVM 6的内存管理 Sun Hotspot JVM 6的GC模型 主要针对JVM6的GC模型,但也会简单介绍Java 7的G1 编写GC友好代码的一些技巧
你对JVM内存组成结构和JVM垃圾回收机制是否熟悉,这里和大家简单分享一下,希望对你的学习有所帮助,首先来看一下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示。