1. 新生区(伊甸园区+幸存区):
- 类:诞生和成长甚至死亡的地方;
- 所有的对象都是在伊甸园区new出来的;
- 幸存的对象才会去往幸村去0,1;
- 伊甸园区满了会触发轻GC,幸存0和1区都满了就会去养老区。当新生区都满了就会触发重GC,能活下来的人就会进入养老区了。当养老区和新生区都满了就会OM(堆溢出)
2.永久区
这个区常驻内存中,用来存放JDK自身携带的Class对象。这个区域不存在垃圾回收,关闭VM虚拟就会释放这个区域的内存。
- jdk1.6之前:永久代,常量池是在方法区
- jdk1.7:去永久代,常量池在堆中
- jdk1.8之后:无永久代,常量池在元空间中
- 元空间逻辑上存在,物理上不存在。