当前位置: 代码迷 >> Java相关 >> 关于GC:java 新生代对象被回收时其储存于持久代的类信息不会相应地被回收吗
  详细解决方案

关于GC:java 新生代对象被回收时其储存于持久代的类信息不会相应地被回收吗

热度:12   发布时间:2016-04-22 20:41:46.0
关于GC:java 新生代对象被回收时其存储于持久代的类信息不会相应地被回收吗?
java新生成的对象都是存储在新生代(Eden)当中,而持久代(Perm Gen)当中存储的都是被引用的类的信息,那么问题来了:
当新生代的对象被回收时,持久代的信息会相应地被回收吗?
------解决思路----------------------
不会,持久代你们加载的是class的matedata信息,理论上JVM不死就不会被清理!

------解决思路----------------------
引用:
Quote: 引用:

java新生成的对象都是存储在新生代(Eden)当中,
这个不一定
而持久代(Perm Gen)当中存储的都是被引用的类的信息,那么问题来了:
当新生代的对象被回收时,持久代的信息会相应地被回收吗?
不会,持久代有自己的回收 策略


为什么说新生成的对象不一定存储在新生代当中呢?

新生成对象有一个阀值,超过阀值的大对象会直接进老年代