垃圾回收器能起到什么作用?

垃圾回收器(GC)是Java平台上应用程序行为不可分割的一部分,但它经常被程序员误操作而导致程序性能下降或者没有达到想要的效果。因此,Java 开发人员需要了解 GC 是如何工作的,这样就可以根据应用程序的特性来选择和调优垃圾回收器,并以此来保证程序的运行时性能、可伸缩性和可靠性。

本文回顾并分类了目前 JVM 中使用的各种垃圾回收器和回收技术,并概述了常见的垃圾回收技术和算法,定义所有回收器通用的术语和度量标准,包括:

  • 1、Generational 分代
  • 2、Parallel 并行
  • 3、Stop-the-world 全局停止
  • 4、Incremental 增量
  • 5、Concurrent 并发
  • 6、Mostly-concurrent 部分并发

本文对 JVM 主要使用的回收器机制和特征进行了分类,并讨论了在不同场景下如何平衡响应性(延迟)、吞吐量、内存,也总结了一些关于垃圾回收行为的陷阱、常见的误解和被人们口口相传却缺乏依据的“神话”操作,以及因为某些奇葩的选择如何导致令人印象深刻的应用程序的诡异行为示例。

因文章限制,只展示部分内容,需要获取完整版用以学习的伙伴:帮忙转发点赞一下,关注后添加小助理vx:mxzFAFAFA来领取!

什么是垃圾回收

 

为什么你要学习垃圾回收器

 

垃圾回收器的种类

 

垃圾回收的步骤

ark Phase(标记阶段)

 

Sweep Phase《清除阶段)

 

Compact Phase(压缩阶段)

 

垃圾回收器的分类

 

分代回收器

 

Remembered set(记忆集)

 

商业版实现

 

GC调优的观察

 

 

总结

 

 

文章展示到此结束,需要获取完整版用以学习的朋友,转发关注后,添加小助理vx:mxzFAFAFA来领取