rp怎么做网站,dz网站模板,视频网站超链接怎么做,做网站需要材料GC: 垃圾回收算法#xff1a;
GC最基础的算法有三种#xff1a; 标记 -清除算法、复制算法、标记-压缩算法#xff0c;我们常用的垃圾回收器一般 都采用分代收集算法。
标记 -清除算法#xff0c;“标记-清除”#xff08;Mark-Sweep#xff09;算法#xff0c;如它的…GC: 垃圾回收算法
GC最基础的算法有三种 标记 -清除算法、复制算法、标记-压缩算法我们常用的垃圾回收器一般 都采用分代收集算法。
标记 -清除算法“标记-清除”Mark-Sweep算法如它的名字一样算法分为“标记”和“清 除”两个阶段首先标记出所有需要回收的对象在标记完成后统一回收掉所有被标记的对象。
复制算法“复制”Copying的收集算法它将可用内存按容量划分为大小相等的两块每次 只使用其中的一块。当这一块的内存用完了就将还存活着的对象复制到另外一块上面然后 再把已使用过的内存空间一次清理掉。
标记-压缩算法标记过程仍然与“标记-清除”算法一样但后续步骤不是直接对可回收对象进行 清理而是让所有存活的对象都向一端移动然后直接清理掉端边界以外的内存
分代收集算法“分代收集”Generational Collection算法把Java堆分为新生代和老年代 这样就可以根据各个年代的特点采用最适当的收集算法。
分代回收 对象优先分配在Eden区如果Eden区没有足够的空间时虚拟机执行一次Minor GC。 大对象直接进入老年代大对象是指需要大量连续内存空间的对象。这样做的目的是避免在
Eden区和两个Survivor区之间发生大量的内存拷贝新生代采用复制算法收集内存。 长期存活的对象进入老年代。虚拟机为每个对象定义了一个年龄计数器如果对象经过了1次
Minor GC那么对象会进入Survivor区之后每经过一次Minor GC那么对象的年龄加1知道达 到阀值对象进入老年区。 动态判断对象的年龄。如果Survivor区中相同年龄的所有对象大小的总和大于Survivor空间的 一半年龄大于或等于该年龄的对象可以直接进入老年代。 空间分配担保。每次进行Minor GC时JVM会计算Survivor区移至老年区的对象的平均大小 如果这个值大于老年区的剩余值大小则进行一次Full GC如果小于检查
HandlePromotionFailure设置如果true则只进行Monitor GC,如果false则进行Full GC。
垃圾回收器 新生代的收集器包括Serial、PraNew、Parallel Scavenge回收老年代的收集器包括Serial Old、Parallel Old、CMS还有用于回收整个Java堆的G1收集器。