java垃圾回收算法

垃圾回收是对堆内存里的没有任何引用指向的对象进行回收

垃圾确定方式:1.引用计数

                          2.正向可达(使用这个)

垃圾回收算法:

1.标记-清除(Mark-Sweep)

      此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同时,会产生内存碎片

2.复制(Copying)

      将内存分成两份,每次GC都会重新整理使用的一半的内存区域,并赋值给另一半,效率提高,但是浪费了内存。

3.标记-整理(Mark-Compact)

      结合了前两个算法的优点,第一步标记,第二步整理。

4.分代(Generational Collecting)

      基于对对象生命周期分析后得出的垃圾回收算法。把对象分为年青代、年老代、持久代,对不同生命周期的对象使用不同的算法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容