升级到 Java 11 的理由 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sagaxu
V2EX    Java

升级到 Java 11 的理由

  •  
  •   sagaxu 2018-09-26 19:39:13 +08:00 via Android 6138 次点击
    这是一个创建于 2583 天前的主题,其中的信息可能已经有所发展或是发生改变。
    语法改进其实很小,甚至可以说意义不大,我们已经有 scala 和 kotlin 这样的现代化 jvm 语言了。协程这次也没有,可能要等到下一个 lts 时才加进去。

    spring 5.1 才支持 java11,对应的 springboot 是 2.1,还要过几周才能发布。其它常用的库(特别是用到了 jni 的)是不是支持 11,还需要时间来检验和打磨。

    有点吸引力的只有 jvm 的改进了,更并行的 g1gc,瘦身删除了 corba 和 applet 等累赘,tls1.3 也很重要,还有其它一些微弱改进。

    如果已经在用 8 了,建议再等等,到 2019 年考虑升级到 11。如果还在用 567,那就继续用 567 吧8 出来 4 年都不为所动,大概是永远不会升级了。

    我自己打算十一月份开始灰度,明年年初完成迁移。
    13 条回复    2018-10-16 11:16:51 +08:00
    xuanbg
        1
    xuanbg  
       2018-09-26 20:52:44 +08:00
    自己先玩起来
    hrong
        2
    hrong  
       2018-09-26 20:54:26 +08:00 via Android
    只有我看成是“升级到 Java 的 11 个理由” 吗?(手动滑稽
    easylee
        3
    easylee  
       2018-09-26 20:56:49 +08:00 via Android
    感谢分析。
    ganxiyun
        4
    ganxiyun  
       2018-09-26 21:14:03 +08:00
    ZGC 的 benchmark 很惊人啊
    sagaxu
        5
    sagaxu  
    OP
       2018-09-26 21:26:29 +08:00 via Android
    @ganxiyun zgc 要等下一个 lts 了,几十 g 以内 g1 已经相当不错了
    zhangwugui
        6
    zhangwugui  
       2018-09-27 09:38:39 +08:00
    在用 JDK8,11 的话生产环境估计还需要很久,一些坑还没人踩。
    yemoluo
        7
    yemoluo  
       2018-09-27 12:02:03 +08:00   1
    下面的文字有点偏激,大家轻拍

    Java 11 的特性,我很早就看过了。自己也不知道是什么感觉。最大的改变,应该是同行说,Java 11 出了,我说,哦,知道了。 对,没下文了。 我甚至提不起兴趣和他讨论一番 Java 11 到底改了啥。

    升级到 Java 8 估计很多人都有动力,升级到 Java 9 有动力吗? 说句实话,没有,如果不信,你看看 “ Java 9 特性介绍” 就知道了。


    Java 9 出的 JShell 看起来很有用,但是说句实在话,当我写完这个系列的文章,我都不想用 JShell 了。别人的 REPL 还能编辑一大段代码,JShell 的上翻功能,竟然只翻了一行,对,一行。气死我了。

    人家,隔壁的 Python3 的 IDLE 外部编辑器好歹还有个语法高亮,JShell 的外部编辑器就是一个输入框,三个按钮,简单粗暴无比了。

    对于 JShell,另一个更气人的事实,就是,JShell 对外部编辑器做的还不够,没有监控文件功能。不过这也不怪它,比如我有一次尝试将外部编辑器设置为 Sublime Text 3。结果,保存的时候竟然没自动运行。但如果设置为 `vi` 或 `vim` 就能。


    同样的道理,升级到 Java 10,升级到 Java 11,升级到 Java 12 ( 还没出,也快了 ),有动力吗?除了写一些文章需要,说实话,也没那个动力。

    为什么呢? 用的人少,坑没趟够,能减少代码量吗? 没有,能显著提高性能吗? 没有,我的 Java 6 7 8 知识会在 Java 12 淘汰吗? 没有

    既然没有,那升级,就没动力了。

    当然我有,我有两台电脑,生产环境使用 Java 8,写文章的时候,都是最新的 Java 11 了。

    但是公司的代码,我真的想不起来哪个 Java 9 以上的版本特性可以用来节省代码量。

    ----

    Java 的版本发展的有点快了,但 Java 的特性却跟不上 Java 的版本速度。这是事实。

    面对这个事实,我自己的选择,公司的代码,宁愿坚守在 Java 8。
    gowk
        8
    gowk  
       2018-09-27 21:57:21 +08:00
    顶楼上,不知道为啥 Java 也开始跟 Go,Rust 学,加快版本迭代周期,Java 7、Java 8 憋了多少年才憋出来,现在一年两个版本还真不适应,我也坚守在 Java 8,经典的一个版本,会像 Java 6 一样不朽
    luozic
        9
    luozic  
       2018-09-29 20:34:13 +08:00 via iPhone
    真的需要的特性和性能优化没有.net core 那么激进。loom 和模式匹配啥时候能在 Java 上见到?
    wanghongfei
        10
    wanghongfei  
       2018-10-09 14:29:20 +08:00
    8 升级 11 的话,代价高于收益
    someonedeng
        11
    someonedeng  
       2018-10-11 09:53:29 +08:00
    @hrong 我看成升级 java11 的 11 个理由。。。不说了,看眼科去了
    someonedeng
        12
    someonedeng  
       2018-10-11 09:59:21 +08:00
    还在用 8,挺好的,5、6、7 这种项目随便升级会炸。。

    java 什么时候有官方协程不好说。。
    fisher335
        13
    fisher335  
       2018-10-16 11:16:51 +08:00
    没说收不收钱的事吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3206 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 10:47 PVG 18:47 LAX 03:47 JFK 06:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86