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

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

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

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

不多BB,来看主要内容

算法篇
目录一览





内容一览

G1GC堆结构

并发标记

GC预测转移时间

G1GC新生代区域

GC执行的时机

实战篇
目录一览
图片说明
图片说明
图片说明
图片说明
图片说明
图片说明
图片说明
内容一览

准备工作

对象管理功能
图片说明
G1GC堆结构
图片说明
内存分配流程
图片说明
线程生命周期
图片说明
GC线程并行执行的流程
图片说明
并发GC安全点
图片说明
HotSpotVM的执行流程
图片说明
JT编译器的写屏障

** 由于篇幅受限,只能以截图展示,需要完整版可以点击文章开头链接,免费领取**