V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zhouhu
V2EX  ›  程序员

写了几篇垃圾收集器 G1 的博客,感兴趣的朋友可以看看。

  •  
  •   zhouhu · 80 天前 · 1623 次点击
    这是一个创建于 80 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学习 G1 的源码,写了几篇博客,作为学习总结也是复习材料。 对 G1 感兴趣的朋友留下联系方式,一起讨论。

    1. https://juejin.cn/post/7410238698862788660

    2. https://juejin.cn/post/7418363736412815370

    3. https://juejin.cn/post/7419978042247413797

    4. https://juejin.cn/post/7423656012701876235

    14 条回复    2024-10-14 10:49:23 +08:00
    Geekerstar
        1
    Geekerstar  
       80 天前
    感谢,最近项目有用到 G1
    creanme
        2
    creanme  
       80 天前
    感谢分享
    zhouhu
        3
    zhouhu  
    OP
       80 天前
    自我感觉 Young GC 写得还比较深入,大家不要只看 G1 pin region 那篇😂
    julyclyde
        4
    julyclyde  
       80 天前
    @Geekerstar 主动和 g1gc 沟通吗?还是仅仅开了那个参数而异?
    Geekerstar
        5
    Geekerstar  
       79 天前
    @julyclyde 就开了参数,我们系统是 CPU 和 IO 都密集,用了 G1 之后发现 full gc 的 STW 的最高耗时确实比默认的要低了很多。用的 java8
    spkingr
        6
    spkingr  
       79 天前
    真大佬!!!
    https://juejin.cn/post/7418363736412815370
    这里优化前、优化后两张图没看出区别。
    https://juejin.cn/post/7419978042247413797
    这图破了两张。

    问下大佬,JVM 深入还是得学会 C++吧?
    这 G1 的源码搞懂了,对应实际应用是啥?
    谢谢!
    seedhk
        7
    seedhk  
       79 天前
    学习了,很棒的文章,需要时间细读。没注册掘进账号没法点赞。就在这里给你点个赞吧
    zhouhu
        8
    zhouhu  
    OP
       79 天前
    @spkingr 感谢老哥提醒,你说的是 G1 对记忆集的优化是吧,现在改了,你再看看。
    https://juejin.cn/post/7418363736412815370


    破了两张是指,我看了下没注意到图片有问题。https://juejin.cn/post/7419978042247413797

    JVM 深入还是得学会 C++吧?
    只是看代码的还好,我会 c 和 java ,基本代码都能看,看不懂的就 gpt 。

    这 G1 的源码搞懂了,对应实际应用是啥
    1. 对面试有帮助吧,只是看《深入理解 Java 虚拟机》那本书的话,有些地方总是似懂非懂的。
    2. 工作中,因为 G1 现在是默认收集器,应用范围广,java9 之后默认就是 G1 ,如果 GC 有问题的话,看了源码了解原理,查看日志和定位问题、GC 优化都比较容易。学习 G1 相比其他收集器性价比高一些吧
    3. 看懂 G1 最新的优化成果,我对这个比较感兴趣。
    zhouhu
        9
    zhouhu  
    OP
       79 天前
    @seedhk 感谢
    zhouhu
        10
    zhouhu  
    OP
       79 天前
    @Geekerstar 哈哈哈,要是有空可以把经验分享给大家。G1 full gc 在 java 10 以后也有优化。G1 full gc 我应该会在后续的文章中写道。
    azhong123
        11
    azhong123  
       79 天前
    OP 你好,请问是看 jvm 的 C++ 代码 总结出来的吗
    azhong123
        12
    azhong123  
       79 天前
    @zhouhu 会 C 可以看懂 jvm 的 C++ 代码吗? 真心求教
    zhouhu
        13
    zhouhu  
    OP
       79 天前
    @azhong123 是的,会 C 和 java 肯定是能看懂的
    azhong123
        14
    azhong123  
       77 天前
    @zhouhu 感谢哥,俺也想学习 jvm 的代码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1349 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:29 · PVG 01:29 · LAX 09:29 · JFK 12:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.