![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
GC
文章平均质量分 87
Java垃圾回收相关文章
秋风不识路
最重要的是选择,最难的是坚持!
展开
-
第五篇 Java垃圾回收相关算法 - 应用阶段
第五篇 Java垃圾回收相关算法 - 应用阶段 文章目录第五篇 Java垃圾回收相关算法 - 应用阶段前言一、分代收集算法1.概述2.基本思想3.例子二、增量收集算法1.概述2.基本思想3.缺点三、分区算法1.概述 前言 前面所有这些算法中,并没有一种算法可以完全替代其他算法,它们都具有自己独特的优势和特点。 一、分代收集算法 1.概述 分代收集算法,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。一般是把Java堆分为新生代和老年原创 2021-03-21 22:12:58 · 257 阅读 · 0 评论 -
第四篇 Java垃圾回收相关算法 - 清除阶段
第四篇 Java垃圾回收相关算法 - 清除阶段 文章目录第四篇 Java垃圾回收相关算法 - 清除阶段前言一、标记清除算法1.概述2.执行过程3.缺点4.什么是清除 前言 当成功区分出内存中存活对象和死亡对象后,GC接下来的任务就是执行垃圾回收,释放掉无用对象所占用的内存空间,以便有足够的可用内存空间为新对象分配内存。 目前在JVM中比较常见的三种垃圾收集算法是标记-清除算法(Mark-Sweep)、复制算法(Copying)、标记-压缩算法(Mark-Compact) 一、标记清除算法 1.概述 标原创 2021-02-27 23:15:53 · 276 阅读 · 0 评论 -
第三篇 Java垃圾回收 - 对象的finalization机制
第三篇 Java垃圾回收 - 对象的finalization机制 文章目录第三篇 Java垃圾回收 - 对象的finalization机制一、概述二、机制1、对象的三种状态2.对象标记为垃圾的具体过程三、注意事项 一、概述 Java语言提供了对象终止(finalization) 机制来允许开发人员提供对象被销毁之前的自定义处理逻辑。 当垃圾回收器发现没有引用指向一个对象,即:垃圾回收此对象之前,总会先调用这个对象的finalize()方法。 finalize()方法允许在子类中被重写,用于在对象被回收时进原创 2021-02-21 23:11:58 · 250 阅读 · 0 评论 -
第二篇 Java垃圾回收相关算法 - 标记阶段
第二篇 Java垃圾回收相关算法 - 标记阶段 文章目录第二篇 Java垃圾回收相关算法 - 标记阶段一、引用计数算法1.对象存活判断2.概述3.优点4.缺点5.Java中是否使用了引用计数器6.总结二、可达性分析算法1.概念2.GC Roots3.在Java中,哪些元素算GC Roots三、备注1.判断GC Roots的小技巧2.注意事项 一、引用计数算法 1.对象存活判断 在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标原创 2021-02-21 21:54:13 · 130 阅读 · 0 评论 -
第一篇 Java垃圾回收概述
第一篇 Java垃圾回收概述 文章目录第一篇 Java垃圾回收概述一、什么是垃圾?二、为什么需要GC三、早期垃圾回收四、Java垃圾回收机制1.优点2.缺点: 一、什么是垃圾? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。 二、为什么需要GC 对于高级语言来说,一个基本认知是如果不进行垃圾回收,内存迟早都会被消耗完,因为不断地原创 2021-02-19 22:39:42 · 148 阅读 · 0 评论