V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sagaxu
V2EX  ›  Java

升级到 Java 11 的理由

  •  
  •   sagaxu · 2018-09-26 19:39:13 +08:00 via Android · 5779 次点击
    这是一个创建于 2256 天前的主题,其中的信息可能已经有所发展或是发生改变。
    语法改进其实很小,甚至可以说意义不大,我们已经有 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 的话生产环境估计还需要很久,一些坑还没人踩。
    GTim
        7
    GTim  
       2018-09-27 12:02:03 +08:00   ❤️ 1
    下面的文字有点偏激,大家轻拍

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

    升级到 Java 8 估计很多人都有动力,升级到 Java 9 有动力吗? 说句实话,没有,如果不信,你看看 “ 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   ·   实用小工具   ·   2523 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:09 · PVG 09:09 · LAX 17:09 · JFK 20:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.