垃圾回收
1.对象被判定成垃圾的标准
没有被其他对象引用
2.判断对象是否为垃圾的算法
(1)引用计数法
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
优点and缺点
(2)可达性分析算法
垃圾回收回收算法
1.标记-清除(Mark and Sweep)
缺点是内存空间碎片化太严重
2.复制算法(Copying)
(1)复制算法介绍
(2)复制算法优势
3.标记-整理算法(Compacting)
(1)标记整理算法介绍
(2)标记整理算法优点
4.分代收集算法
(1)GC分类
从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC
Full GC 是清理整个堆空间—包括年轻代和老年代。
Major GC 是清理老年代
JVM中的堆,一般分为三大部分:新生代、老年代、永久代:
永久代
指内存的永久保存区域,主要存放Class和Meta(元数据)的信息,Class在被加载的时候被放入永久区域. 它和和存放实例的区域不同,GC不会在主程序运行期对永久区域进行清理。所以这也导致了永久代的区域会随着加载的Class的增多而胀满,最终抛出OOM异常。
在Java8中,永久代已经被移除,被一个称为“元数据区”(元空间)的区域所取代。
(2)年轻代内存空间
如果Eden区不能保存一个较大的对象,则会保存到老年代中,默认十五岁之后会转移到老年代中
(3)对象如何晋升到老年代
(4)设置参数
(5)触发full GC的方法
5.stop-theWorld
6.Safepoint

更多精彩