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