JVM的学习4____GC的作用和垃圾的标记

1.GC的作用:

       GC(Garbage Collection)就是JVM中自动内存管理机制的具体实现。GC包括两大功能:内存的分配,垃圾的回收。内存的分配上一文章中已经介绍过,因为对象生命周期的差异性,故采使用分代垃圾回收策略。

      那么如何评价一款GC的性能优劣呢???主要有如下的几个标准

  1. 吞吐量(程序的运行时间/程序的运行时间+内存的回收时间);
  2. 垃圾收集开销(垃圾收集器所占时间/总的时间);
  3. 暂停时间(执行垃圾收集时,程序工作线程暂停的时间);
  4. 收集频率(收集操作发生的频率);
  5. 堆空间;
  6. 快速(一个对象从创建到被回收所经历的时间);

2.垃圾的标记:

     在GC进行垃圾回收时,首先要判断什么是垃圾对象?当一个对象再没有引用引用它时就可以被标记为垃圾对象。主要的垃圾标记算法有两种:引用计数法,根搜索法。

    由于引用计数法无法解决垃圾对象之间互相引用时的问题,所以推荐使用根搜索法。根搜索算法就是以根对象集合为起始点,从上往下的方式搜索被根集合对象所连接的对象是否可达(使用根搜索法后,存活的对象就会被直接或者间接的连接到根对象集合上)。如果对象不可达,就标记为死亡。   

猜你喜欢

转载自www.cnblogs.com/xbfchder/p/11397469.html