1、新生区
- 类:诞生和成长的地方,甚至死亡
- 伊甸园区:所有的对象都是在
伊甸园区
new出来的 - 幸存者区
2、老年区
注:经验证,99%的对象都是临时对象
3、永久区
这个区域常驻内存,用来携带JDK自身携带的Class对象。Interface元数据,存储Java运行时的一些环境或类信息(这个区域不存在垃圾回收),关闭虚拟机就会释放这个区域的内存。
- Jdk 1.6之前:永久代,常量值在方法区中
- Jdk 1.7:永久代慢慢退化,
去永久代
,常量池在堆中 - Jdk 1.8之后:无永久代,常量池在元空间
会出现OOM的情况:启动类加载了大量的第三方jar包;Tomcat部署的应用过多;大量动态生成的反射类不断被加载等
评论 (0)