JVM中具体应用了哪些垃圾回收算法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4850个文字,预计阅读时间需要20分钟。
垃圾回收算法+1.垃圾回收需要做什么+Java垃圾回收器需要做的三件事:
1.哪些内存需要回收?即如何判断对象已经死亡;
2.何时回收?即GC何时发生;
3.需要理解GC策略,与垃圾进行回收。
垃圾回收算法 1.垃圾回收需要做什么Java垃圾回收器需要做的三件事:
2.如何判断对象可被回收1、哪些内存需要回收?即如何判断对象已经死亡;
2、什么时候回收?即GC发生在什么时候?需要了解GC策略,与垃圾回收器实现有关;
3、如何回收?即需要了解垃圾回收算法,及算法的实现--垃圾回收器;
垃圾收集器对堆进行回收前,首先要确定堆中的对象哪些还"存活",哪些已经"死去"。有两种算法,分别是引用计数算法(Recference Counting)和可达性分析算法(Reachability Analysis)。
2.1 引用计数算法2.1.1 算法思路
给对象添加一个引用计数器,每当有一个地方引用它,计数器加1;当引用失效,计数器值减1;任何时刻计数器值为0,则认为对象是不再被使用的;
2.1.2 优点-
实现简单、垃圾便于辨识;
-
判定效率高,回收没有延迟。
本文共计4850个文字,预计阅读时间需要20分钟。
垃圾回收算法+1.垃圾回收需要做什么+Java垃圾回收器需要做的三件事:
1.哪些内存需要回收?即如何判断对象已经死亡;
2.何时回收?即GC何时发生;
3.需要理解GC策略,与垃圾进行回收。
垃圾回收算法 1.垃圾回收需要做什么Java垃圾回收器需要做的三件事:
2.如何判断对象可被回收1、哪些内存需要回收?即如何判断对象已经死亡;
2、什么时候回收?即GC发生在什么时候?需要了解GC策略,与垃圾回收器实现有关;
3、如何回收?即需要了解垃圾回收算法,及算法的实现--垃圾回收器;
垃圾收集器对堆进行回收前,首先要确定堆中的对象哪些还"存活",哪些已经"死去"。有两种算法,分别是引用计数算法(Recference Counting)和可达性分析算法(Reachability Analysis)。
2.1 引用计数算法2.1.1 算法思路
给对象添加一个引用计数器,每当有一个地方引用它,计数器加1;当引用失效,计数器值减1;任何时刻计数器值为0,则认为对象是不再被使用的;
2.1.2 优点-
实现简单、垃圾便于辨识;
-
判定效率高,回收没有延迟。

