阿里出品的全栈 GC 面试小册,上线仅 3 天 Github 获赞 85.9K,我爱了~


Java 垃圾回收

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

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

        
  •     

    GC 具体做了什么?

        
  •     
  •     

    哪些内存需要回收?

        
  •     
  •     

    什么时候回收?

        
  •     
  •     

    怎么回收?

        
  •     
  •     

    垃圾回收算法 &垃圾回收器有哪些?

        
  •     
  •     

    ......

        

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

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

不多 BB,咱们来看主要内容

算法篇

目录一览

内容一览

        
  •     

    G1GC 堆结构

        

        
  •     

    并发标记

        

        
  •     

    GC 预测转移时间

        

        
  •     

    G1GC 新生代区域

        

        
  •     

    GC 执行的时机

        

实战篇

目录一览

内容一览

        
  •     

    准备工作

        

        
  •     

    对象管理功能

        

        
  •     

    G1GC 堆结构

        

        
  •     

    内存分配流程

        

        
  •     

    线程生命周期

        

        
  •     

    GC 线程并行执行的流程

        

        
  •     

    并发 GC 安全点

        

        
  •     

    HotSpotVM 的执行流程

        

        
  •     

    JT 编译器的写屏障

        

对本文内容感兴趣的朋友们点击下方传送门即可获取 

👉 传送门 👈

好了本篇文章到这里就结束了,拜拜✌。

全部评论

相关推荐

dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务