Java培训:Java中垃圾收集的阶段

更新时间: 2022-10-28 11:59:02来源: 粤嵌教育浏览量:8340

  垃圾收集器使用垃圾收集根(GC根)的概念来识别活的和死的对象。对java感兴趣的同学可以参加java培训,你可以学会更多的java新技术。

  此类垃圾收集根的示例包括:

  l 由系统类装入器(非自定义类装入器)装入的类

  l 实时线程

  l 当前执行方法的局部变量和参数

  l JNI方法的局部变量和参数

  l 全球JNI参考

  l 用作同步监视器的对象

  l JVM出于垃圾收集目的而保留的对象

  垃圾收集器遍历内存中的整个对象图,从那些垃圾收集根开始,并遵循从根到其他对象的引用。想要学习java更多知识和技能,可以考虑参加java培训,有经验丰富的专业讲师指导教学,有紧跟市场需求的实时课程,可以让你快速掌握这门技术,节约时间,少走弯路。

  

  标准垃圾收集实施包括三个阶段:

  1.将对象标记为活动

  在这一步中,GC通过遍历对象图来识别内存中的所有活动对象。

  当GC访问一个对象时,它将其标记为可访问的,因此是活动的。垃圾收集器访问的每个对象都标记为活动。所有不能从GC根访问的对象都是垃圾,并被视为垃圾收集的候选对象。

  2.扫描死对象

  在标记阶段之后,内存空间被活动(已访问)和死亡(未访问)对象占用。扫描阶段释放包含这些死对象的内存碎片。

  3.压缩内存中的剩余对象

  扫描阶段移除的固定对象不一定相邻。因此,最终可能会有零碎的内存空间。

  在垃圾收集器删除死对象后,可以压缩内存,以便剩余的对象位于堆开始处的连续块中。

  压缩过程使按顺序为新对象分配内存变得更容易。想对java有更深入的了解,可以参加java培训,在专业老师的指导下,你可以很快掌握java的更多特性。

免费预约试听课