JVM中具体应用了哪些垃圾回收算法?

2026-05-22 10:011阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计4850个文字,预计阅读时间需要20分钟。

JVM中具体应用了哪些垃圾回收算法?

垃圾回收算法+1.垃圾回收需要做什么+Java垃圾回收器需要做的三件事:

1.哪些内存需要回收?即如何判断对象已经死亡;

2.何时回收?即GC何时发生;

3.需要理解GC策略,与垃圾进行回收。

垃圾回收算法 1.垃圾回收需要做什么

Java垃圾回收器需要做的三件事:

1、哪些内存需要回收?即如何判断对象已经死亡;

2、什么时候回收?即GC发生在什么时候?需要了解GC策略,与垃圾回收器实现有关;

3、如何回收?即需要了解垃圾回收算法,及算法的实现--垃圾回收器;

2.如何判断对象可被回收

​ 垃圾收集器对堆进行回收前,首先要确定堆中的对象哪些还"存活",哪些已经"死去"。有两种算法,分别是引用计数算法(Recference Counting)和可达性分析算法(Reachability Analysis)。

2.1 引用计数算法

2.1.1 算法思路

给对象添加一个引用计数器,每当有一个地方引用它,计数器加1;当引用失效,计数器值减1;任何时刻计数器值为0,则认为对象是不再被使用的;

2.1.2 优点
  • 实现简单、垃圾便于辨识;

  • 判定效率高,回收没有延迟。

阅读全文

本文共计4850个文字,预计阅读时间需要20分钟。

JVM中具体应用了哪些垃圾回收算法?

垃圾回收算法+1.垃圾回收需要做什么+Java垃圾回收器需要做的三件事:

1.哪些内存需要回收?即如何判断对象已经死亡;

2.何时回收?即GC何时发生;

3.需要理解GC策略,与垃圾进行回收。

垃圾回收算法 1.垃圾回收需要做什么

Java垃圾回收器需要做的三件事:

1、哪些内存需要回收?即如何判断对象已经死亡;

2、什么时候回收?即GC发生在什么时候?需要了解GC策略,与垃圾回收器实现有关;

3、如何回收?即需要了解垃圾回收算法,及算法的实现--垃圾回收器;

2.如何判断对象可被回收

​ 垃圾收集器对堆进行回收前,首先要确定堆中的对象哪些还"存活",哪些已经"死去"。有两种算法,分别是引用计数算法(Recference Counting)和可达性分析算法(Reachability Analysis)。

2.1 引用计数算法

2.1.1 算法思路

给对象添加一个引用计数器,每当有一个地方引用它,计数器加1;当引用失效,计数器值减1;任何时刻计数器值为0,则认为对象是不再被使用的;

2.1.2 优点
  • 实现简单、垃圾便于辨识;

  • 判定效率高,回收没有延迟。

阅读全文