堆
2019-12-23 10:04:07 0 举报
JVM
作者其他创作
大纲/内容
新生区:类诞生和成长的地方,甚至死亡;伊甸园:所有的对象都是在伊甸园区new出来的!幸存区(0,1)
谁空谁是to
GC垃圾回收,主要是在伊甸园区和养老区
幸存区from区
伊甸园
幸存区to区
当一个对象经历了15次GC,都还存活着;-XX: -XX:MaxTenuringThreshold=9999通过这个参数可以设定进入老年代的时期
堆
这个区域常驻内存。用来存放JDK自身携带的Class对象。Interface元数据,存储的是Java运行时的一些环境或类信息,这个区域不存在垃圾回收!关闭JVM虚拟机就会释放这个区域的内存
真理:有99%的对象都是临时对象!
伊甸园区(Eden)
逻辑上存在,物理上不存在
老年代(Old)
持久代/元空间(方法区)(Prem)
幸存0区
常量池
一个启动类,加载了大量的第三方jar包。Tomcat部署了太多的应用,大量动态生成的反射类。不断动态生成的反射类,不断被加载,直到内存满,就会出现OOM
假设内存满了,OOM,堆内存不够了.在 JDK8以后,永久存储区改了个名字(元空间)
幸存1区
养老区
1、每次GC都会讲Eden活的对象移动到幸存区中:一旦Eden区被GC后,就会是空的!
新生区
永久存储区
主要用的复制算法
0 条评论
下一页