关于javaGC机制的收获

javaGC是java的垃圾回收机制,他有三个区域(jdk8之前有)分别是
初代区,老年代区和永久代区。
其中初代区又分为俩块区域,分别数Eden和survivor

这个区域是创建和回收最频繁的。
每当有新对象被创建的时候,如果对象的容量大于Eden就放进survivor,还是放不下就进行垃圾回收,复制回收。

复制回收,就是将需要存活的对象复制进一个新的Eden或者是survivor,然后回收之前的区域。

老年代区域,是那些需要长期存在,或者容量大的,就放在这里。他的回收方式是,标记-清理方式

先进行扫描,将还在存活的,进行标记,然后回收掉。
永久带区域存放的是class之类的。这个区域不允许被GC,所以,随着时间的推移,系统最终会爆出OOM
out of memory

jdk8之后就取消了永久代

猜你喜欢

转载自blog.csdn.net/qq_42799000/article/details/81810744
今日推荐