真香!阿里内部强推GC小册Github一夜爆火,JVM垃圾回收算法+实战一键搞定!

深藏阁楼爱情的钟 2023-09-27 16:02 71阅读 0赞

Java垃圾回收

我们都知道Java在运行时内存分为了五个部分:程序计数器、虚拟机栈、本地方法栈、堆、方法区。其中程序计数器、虚拟机栈、本地方法栈所占用的内存是不需要垃圾收集的,这三个区域的内存随着线程生,随着线程死,我们需要关注的其实只有堆和方法区这两块内存的垃圾收集。这时候就需要用到GC技术了。

对于垃圾回收概念,它一出现常常伴随着一连串的问题:

  • GC具体做了什么?
  • 哪些内存需要回收?
  • 什么时候回收?
  • 怎么回收?
  • 垃圾回收算法&垃圾回收器有哪些?
  • ……

如果你是一个新手,这些问题扑面而来的时候你肯定会一脸懵逼,不知道该怎么办。本着遇到问题就要解决问题的原则,今天小编为大家带来了一份Github爆火的GC面试小册,虽然它的体系结构与其他“GC书”一样,大致分为算法篇与实现篇两部分。但细节之处却是与大众不同,大家看了就知道,差距不止一点点。

在算法篇中,详细解释GC算法_G1GC 的原理。在实现篇中,结合实用JVM,聚焦了算法篇中没有详细讲解的实现部分。

不多BB,来看主要内容

算法篇

目录一览

e530e2e8f8e443725e44cc9c2fe97cd8.png

696682d51e976e174c29e85c274046ac.png

5df2e03446dae664b4c666eddbb49572.png

7672004783e1090e1df89957213e26bc.png

内容一览

  • G1GC堆结构

format_png

  • 并发标记

format_png 1

  • GC预测转移时间

format_png 2

  • G1GC新生代区域

format_png 3

  • GC执行的时机

format_png 4

实战篇

目录一览

format_png 5

af4daaad479ef4aa2503dcc6ca894ddf.png

format_png 6

format_png 7

format_png 8

8d1ed0d08e0ed97a0e99ddc82f93d604.png

内容一览

  • 准备工作

format_png 9

  • 对象管理功能

format_png 10

  • G1GC堆结构

format_png 11

  • 内存分配流程

format_png 12

  • 线程生命周期

format_png 13

  • GC线程并行执行的流程

format_png 14

  • 并发GC安全点

format_png 15

  • HotSpotVM的执行流程

format_png 16

  • JT编译器的写屏障

format_png 17

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读