欢迎交流学习,一起探讨,共同进步!
转载请保留此句:作者 freeman you,转载或引用本文内容请注明来源及原作者,谢谢合作!
freeman you 的博客地址是:https://blog.csdn.net/u011740550
这是本系列的第 4 篇文章,相关文章列表:
- 【Java 虚拟机 - 1】HotSpot VM
- 【Java 虚拟机 - 2】Java 内存区域
- 【Java 虚拟机 - 3】OutOfMemoryError 异常
- 【Java 虚拟机 - 4】垃圾收集器与内存分配策略
1. 概述
垃圾收集(Garbage Collection, GC),历史久远,需要完成 3 件事情:
- 哪些内存需要回收?
- 什么时候回收?
- 如何回收?
虽然目前内存的动态分配与内存回收技术已经相当成熟,当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。
2. 判断对象是否存活
Java虚拟机垃圾回收(一) 基础:回收哪些内存/对象 引用计数算法 可达性分析算法 finalize()方法 HotSpot实现分析
3. 垃圾收集算法
Java虚拟机垃圾回收(二) 垃圾回收算法:标记-清除算法 复制算法 标记-整理算法 分代收集算法 火车算法
4. 垃圾收集器
Java虚拟机垃圾回收(三) 7种垃圾收集器:主要特点 应用场景 设置参数 基本运行原理
详解 JVM Garbage First(G1) 垃圾收集器
5. 内存分配与回收策略
Java虚拟机垃圾回收(四) 总结:内存分配与回收策略 方法区垃圾回收 以及 JVM垃圾回收的调优方法