跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • JDK16 发布, GC 最大暂停时间缩短到 1 毫秒,平均暂停时间 0.05 毫秒,有人体验过没?
未分類
2021 年 4 月 1 日

JDK16 发布, GC 最大暂停时间缩短到 1 毫秒,平均暂停时间 0.05 毫秒,有人体验过没?

JDK16 发布, GC 最大暂停时间缩短到 1 毫秒,平均暂停时间 0.05 毫秒,有人体验过没?

資深大佬 : industryhive 2

除了 GC 的进步之外,我比较关心的还有 project panama 、project valhalla 和 project loom 这三个项目的进展情况,比较可喜的是,project panama 进展顺利,其中外部存储器访问 API 让 java 开发者利用堆外内存不再需要写 unsafe 了。project valhalla 已经初现曙光,今年 9 月份的 JDK17 可能发布 project valhalla 的预览版本,这个是 java 自定义值类型、泛型的重要组成。还有 project loom,java 的协程,目前看来进展不太顺利。。

鉴于本人还在用 JDK8,还是想问下,有人体验过没?等到 JDK17 发布,我将会从 JDK8 直接迁移到 JDK17,跳过 11 。各位对即将到来的 JDK17 有什么期待?

大佬有話說 (47)

  • 資深大佬 : wxw752

    我也想迁移到 17,但是公司不想

  • 資深大佬 : yitingbai

    很多公司的业务代码离 jdk8 的性能瓶颈还远得很, 切换带来的麻烦与风险远高于带来的优势. 我们公司技术氛围浓厚, 新项目尝试了 jdk11, 但是老项目实在不敢折腾

  • 資深大佬 : 337136897

    我也想迁移到 17,但是公司不想

  • 資深大佬 : brust

    我也想迁移到 17,但是公司不想

  • 資深大佬 : lakehylia

    除非 api 限制只能使用某个版本,不然已有的项目都不会有动力迁移的。迁移的前提是有 KPI 。

  • 主 資深大佬 : industryhive

    @yitingbai
    @lakehylia 老项目不动,新项目可以用新版本了。

  • 資深大佬 : JB18CM

    我也想迁移到 Kotlin,但是公司不想

  • 資深大佬 : dqzcwxb

    不迁移,所以不学习也不关心 JDK16 发布, GC 最大暂停时间缩短到 1 毫秒,平均暂停时间 0.05 毫秒,有人体验过没?

  • 資深大佬 : th00000

    ZGC 在之前几个版本就已经可以用了, 针对特大内存有奇效, 一般服务器用起来也挺爽, 主要是零配置跑的就很快, 对于一般的服务器现在的 G1 表现也已经够好了。

  • 資深大佬 : xbh1794970183564

    小公司没必要, 大公司成本太大

  • 主 資深大佬 : industryhive

    @th00000 G1 生不逢时啊,java9 之后才可用,但是没几个版本又碰上了 ZGC 。。。

  • 資深大佬 : dbpe

    所以 JVM GC 调优还是否有必要呢…人生苦短..我选择 ZGC/G1

  • 資深大佬 : dbpe

    @industryhive java8 也有了..但是有问题..我记得某代不能回收释放(重启破万法).到 java11 才解决…

  • 資深大佬 : dbpe

    @th00000 前几代的问题好像是会降低吞吐量..这个问题到 Java16 也搞定了

  • 資深大佬 : th00000

    @industryhive #11 何为生不逢时? JDK 11 作为 LTS 版本, G1 有最广泛的应用, 一直都在进行大量的优化, 现在也可以做到很少的配置就能有优秀的表现。即使是 JDK 17 LTS 之后, 也有不可替代的分量。

  • 資深大佬 : Jooooooooo

    ZGC 这个往后普及开来感觉是给 java 带来第二次生命.

  • 資深大佬 : th00000

    @dbpe #14 吞吐量、响应时间、内存占用三者不可兼得, 只能取其二, G1 的默认配置在吞吐量表现上稍差是为了换取另外两者的优秀表现, 如果需要大吞吐量比如 Logstash 这种同时不想进行精细调整的话, 则可以选择 CMS

  • 主 資深大佬 : industryhive

    @Jooooooooo 我认为给 Java 带来第二次生命的不是 ZGC,而是 project panama/project loom/project valhalla,尤其是 project panama 和 project valhalla,这两个项目可以让 java 程序逼近物理机的性能极限,GC 反而成了次要的了。

  • 資深大佬 : someonedeng

    等一个 java17, 目前的项目还是 jdk8

  • 資深大佬 : sadfQED2

    我司连 G1 都还没用上呢,17 不知道哪年才用的上

  • 資深大佬 : bthulu

    ZGC 虚拟内存占用翻三倍, 一堆相关监控软件及 linux 内核不针对性升级处理, 谁敢用

  • 資深大佬 : mlcq

    @dbpe 有啥问题,jdk8 已经可以用了,只是不是默认的垃圾收集器而且,怎么可能存在不能回收的问题,只是后期版本会更优化而已

  • 資深大佬 : Vindroid

    不是你想不想,而是公司让不让,以及有没有做好跑路的准备。
    只要公司内大神没力推 JDK 新版本,我就不会去动它。

  • 資深大佬 : icyalala

    大家都想要获得它的特性,但是不愿意承担带来的风险

  • 資深大佬 : dbpe

    @mlcq 具体我得找下..当初我在阿里 JVM 大佬的公众号上了解的.大意就是有效部分的内存无法回收,JAVA11 解决了.

  • 資深大佬 : ztechstack

    面向 spring 编程,坐等 spring 支持。

  • 資深大佬 : mlcq

    @dbpe 你这个是道听途说而已,有些公司线上都是 jdk8 + g1 的

  • 資深大佬 : jason19659

    @industryhive #10 g1 1.8 就可以用了吧

  • 資深大佬 : dgsrz

    我也想迁移到 17,但是公司不想

  • 資深大佬 : yanzhiling2001

    springboot 用啥我用啥

  • 資深大佬 : BBCCBB

    loom 真的是遥遥无期.

  • 資深大佬 : Lemeng

    一般公司动起来得花些人力,非不必要,不会动的
    早想了,没办法

  • 資深大佬 : youyang

    我们还是 jdk8 + cms 呢

  • 資深大佬 : zhuangzhuang1988

    ![捕获.PNG]( https://i.loli.net/2021/03/29/Z2wnp7bHRmvaKdX.png)

  • 資深大佬 : zhuangzhuang1988

    ![a54d82377580e2e2c63d13ccc2c2a728.png]( https://xn--wcso9o.xn--fiqs8s/images/a54d82377580e2e2c63d13ccc2c2a728.png)

  • 資深大佬 : 0312birdzhang

    老版本 es 用上 G1GC 已经两三个月没崩了( doge

  • 資深大佬 : Goooogle

    在线上跑了一周,堆大小 2G
    平均暂停时间 0.05ms 一点也不夸张,测试显示最小也就 0.025
    最大暂停时间测试显示有点抖,从几 ms 到几十 ms

    phase: pause mark end 0.000 / 0.000 0.013 / 0.036 0.013 / 0.210 0.013 / 0.242 ms
    [Phase: Pause Mark Start 0.000 / 0.000 0.027 / 0.054 0.021 / 0.218 0.025 / 6.534 ms
    Phase: Pause Relocate Start 0.000 / 0.000 0.012 / 0.053 0.009 / 0.086 0.009 / 0.266 ms
    Subphase: Pause Mark Try Complete 0.000 / 0.000 0.000 / 0.000 0.006 / 0.013 0.004 / 0.063 ms

  • 資深大佬 : Goooogle

    格式乱了 补个图
    i.imgur.com/92rIInV.png

  • 資深大佬 : intmax2147483647

    我也想迁移到 TypeScript,但是公司…也想[

  • 資深大佬 : matrix67

    这又让我想起了这篇雄文 < IT runs on Java 8 > https://veekaybee.github.io/2019/05/10/java8/

    hn: https://news.ycombinator.com/item?id=19877916

  • 資深大佬 : cco

    一步到 17,结果发现要和其他项目集成,然后又发现他们的项目用的 1.6,各种包老的不行,你还得引用他们的依赖,到时候哭去吧。建议到 11 就行,一步一步来,步子大了容易扯到蛋。

  • 資深大佬 : fyooo

    @cco 老哥看来是过来人 JDK16 发布, GC 最大暂停时间缩短到 1 毫秒,平均暂停时间 0.05 毫秒,有人体验过没?

  • 資深大佬 : cubecube

    很多工具集不支持也没办法呀。比如 idea 在 jdk16 也跑步起来 doge

  • 資深大佬 : arloor

    组里大佬分享过,然后看了美团技术博客的 ZGC 文章,自己的小项目就用起来了
    https://tech.meituan.com/2020/08/06/new-zgc-practice-in-meituan.html

    PS:编译使用 jdk8,运行使用 jdk11+就行了,仅用少量 sun 的类改变了。

    PS:为啥一个 ide 也要在 jdk16 跑起来呢?等到 6 个月后 jdk17 发布,jetbrains 的 jbr 肯定也升到 jdk17 版本了。别说 idea 不跟 jdk 版本

  • 資深大佬 : q149072205

    jdk8 再战个十年八年不是问题。。

  • 資深大佬 : lewis89

    @th00000 老哥,我请教一下,ZGC 在停顿优化的问题的上

    是不是用 mfence 做可见性,这样在标记整理 标记复制的时候 用 mfence 避免因为引用对象的内存地址发生改变 而需要暂停业务线程的时间..

    据我所知 mfence 这些可见性的指令 开销很大.. 会让很多 L1 L2 失效吧..

  • 資深大佬 : shawn102400

    @arloor 这不是脱了裤子放屁多此一举么,用 jdk11 运行又用不了 11 的新特性,出于啥想法。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具