zhdsuperm
V2EX  ›  Java

Java 新特性分享~弱弱问下各位现在用 Java 11 了吗?用的啥 JDK

  •  1
     
  •   zhdsuperm · Aug 5, 2020 · 8265 views
    This topic created in 2286 days ago, the information mentioned may be changed or developed.

    公司把新项目切到 java11 了,不知道坑多不多~,新的 http client 还挺好用的 感觉 Java 11 出来之后的其他新版本没有太多亮点了。

    Java 11 新特性
    Java 12 新特性
    Java 13 新特性
    Java 14 新特性

    52 replies  •  2020-08-21 18:10:55 +08:00
    wangyanrui
    wangyanrui
    Aug 5, 2020
    1
    没啥区别,没几个人用 var, 也没几个人用模块化 ~
    zzzmh
    zzzmh
    Aug 5, 2020
    2
    目前用的 java8 openjdk
    没有为什么,就都挺好用,而且服务器内存很吃紧不敢轻易升级,怕出错了炸内存再往回改麻烦
    keshawnvan
    keshawnvan
    Aug 5, 2020
    3
    之前公司从 Java8 升级到了 Java11
    改造成本挺高,实际效果一般
    luckyrayyy
    luckyrayyy
    Aug 5, 2020
    4
    公司项目 8,个人项目 11,后面的没觉得太多有用的,也就预览版文本块和增强空指针有点感兴趣
    wanglulei
    wanglulei
    Aug 5, 2020
    5
    公司一直再用 1.8
    yamasa
    yamasa
    Aug 5, 2020
    6
    jdk 新的 http client 不是坑挺多的么?当时遇到几个很难诊断的,果断换回 apache http client 那一套了。后面用的 spring 的 webclient 也不错。
    yamasa
    yamasa
    Aug 5, 2020
    7
    11 没多少语言上特性啊。。。var,还有 collection 的几个类终于有官方的 of()了。比较期待后面的 record 和新 switch,以及 fiber 。
    zhdsuperm
    zhdsuperm
    OP
    Aug 5, 2020
    8
    @yamasa 是呀,挺好用的,不过 webclient 引入 web-flux 在一些包里面有冲突
    gz911122
    gz911122
    Aug 5, 2020
    9
    感觉还是 okhttp 好用啊...
    用的人也多
    industryhive
    industryhive
    Aug 5, 2020
    10
    等 java17 吧,明年下半年发布,project loom 和 project valhala 等应该能上了,还能安全访问堆外内存,不用写什么 unsafe 了,到时候 zgc 也应该转正了,还是挺期待的。
    lxk11153
    lxk11153
    Aug 5, 2020
    11
    lxk11153
    lxk11153
    Aug 5, 2020
    12
    append #11 等 java 15 中 see /t/682318
    wysnylc
    wysnylc
    Aug 5, 2020
    13
    @yamasa #7 官方的 of 生成的是不可变集合和 map,小心吃亏
    wysnylc
    wysnylc
    Aug 5, 2020
    14
    @industryhive #10 zgc jdk15 转正 9 月份发布 jdk15 https://openjdk.java.net/jeps/377
    lxk11153
    lxk11153
    Aug 5, 2020
    15
    @wysnylc #13 有那种优雅的生成可变的集合 /map 的 库 /写法吗?
    wysnylc
    wysnylc
    Aug 5, 2020
    16
    @lxk11153 #15 Stream 可以生成 list set map,注意的是如果要自定义初始化 map 而不是 list 转 map 就只能一个个 put
    注意不要用双括号去初始化 map,一个双括号就会生成一个子类
    ben1024
    ben1024
    Aug 5, 2020
    17
    万年 1.8 的哇
    clf
    clf
    Aug 5, 2020
    18
    JDK8 的提升相比 JDK6 来说已经满足了很多人的需要了,再往上升级感觉成本太大。

    个人而言,相比去学习 JDK11,我更愿花时间学 Kotlin 。
    avalon0624
    avalon0624
    Aug 5, 2020
    19
    还没,还是 Java8 。个人项目倒是在慢慢迁移到 Java11 上。
    luozic
    luozic
    Aug 5, 2020 via iPhone
    20
    为啥不 kotlin or 直接换 golang rust ?
    a719031256
    a719031256
    Aug 5, 2020
    21
    肯定是 jdk8 了,后续的 jdk 版本都是特性上的提升,没有性能上的提升,升级高版本 jdk 不划算
    intmax2147483647
    intmax2147483647
    Aug 5, 2020
    22
    我们在用 JAVA11,var 挺香的,大家都写 JS/TS 多了,对 JAVA 的语法要求也就多了,以后版本出的新特性也都很期待
    CoderGeek
    CoderGeek
    Aug 5, 2020
    23
    个人都是最新的 有感觉 公司还是 8
    mosliu
    mosliu
    Aug 5, 2020
    24
    1.8 很舒服。
    感觉没太大必要到 11
    等等看 zgc 从试验性毕业
    qwerthhusn
    qwerthhusn
    Aug 5, 2020
    25
    jdk 11,发行版是 Amazon Corretto

    从 8 之后,语言变化上没啥明显的。

    var 语法我感觉用途不大,就省几个字母而已

    我认为比较有意思的一项就是
    var object = new Object() {string a; int b;}
    这个可以将一个变量 cheat 进入 lambda 或者匿名内部类中( Java8 想要一个修改过的变量进入 lambda,只能用数组或者其他容器包装一下)

    默认用了 G1

    JDK 自带的新 HttpClient 很新,API 感觉没有 OkHttp 或者 Apache 的好用。而且在 TLS 上还有 BUG (可能后来修复了)

    模块化没用过不知道。。。

    其实我挺期待,多行文本块的,那样的话写多行 SQL 等各种东西就很直观了。只不过下一个 LTS 普及要等很久,可能我都已经下岗了
    azkaban
    azkaban
    Aug 5, 2020
    26
    jdk8 用到死,阿里现在一直把新版本优化往 8 里加,感觉升级也没啥必要
    luxinfl
    luxinfl
    Aug 5, 2020
    27
    自从把 jdk7 切到 jdk8 之后,就再也没怎么关注后面的版本了,出的实在是太快了。
    lrj2u
    lrj2u
    Aug 5, 2020
    28
    我倒是想问问,如果用了 jdk11 以上的版本,ZGC 用过没?表现怎样?
    zliea
    zliea
    Aug 5, 2020
    29
    编译级别 1.8,运行环境 11,基础框架输出了 8 和 11 编译版本。
    rockyou12
    rockyou12
    Aug 5, 2020
    30
    11 和以后的 jdk 中其实添加了很多实用的工具性的 api,还是很好用
    ChanKc
    ChanKc
    Aug 5, 2020 via Android
    31
    API 好用了很多。类型推断很鸡肋,我不用。Java 9 开始多了的 jshell 非常好用。单纯为了这个就值得在开发环境升级
    supermoonie
    supermoonie
    Aug 5, 2020 via iPhone
    32
    java11 写出 java8 的感觉🤪
    itechify
    itechify
    Aug 5, 2020 via Android
    33
    模块化后会有问题,例如一些库需要手动添加参数
    dutianze
    dutianze
    Aug 5, 2020
    34
    java11 openjdk
    碰到过一个 bug JDK-8212586
    cgpiao
    cgpiao
    Aug 5, 2020 via iPhone
    35
    java15 就跟 kotlin 很像了
    sagaxu
    sagaxu
    Aug 5, 2020 via Android
    36
    @gz911122 okhttp 不支持带 body 的 get 方法,某些 API 要求 GET 带 body,比如字节家的巨量

    @a719031256 后续版本 g1 gc 有改进

    @azkaban 老项目没有必要升级,新项目也没必要死守 8
    putaozhenhaochi
    putaozhenhaochi
    Aug 5, 2020
    37
    @cgpiao 看来服务端没什么切换 kotlin 的动力了
    WebKit
    WebKit
    Aug 5, 2020 via Android
    38
    改造成 Java 11 还不如改成 kotlin
    Nich0la5
    Nich0la5
    Aug 5, 2020 via Android
    39
    8 公司要求
    40EaE5uJO3Xt1VVa
    40EaE5uJO3Xt1VVa
    Aug 6, 2020
    40
    看到 jdk 我就过来了,www.injdk.cn
    NVDA
    NVDA
    Aug 6, 2020 via iPhone
    41
    8,好像没见到我司用 11 的。
    Lonely
    Lonely
    Aug 6, 2020 via iPhone
    42
    大部分只看语法的变化而忽视了 jvm 的改动
    cco
    cco
    Aug 6, 2020
    43
    平时自己练习的项目用的 Java11,公司项目 1.8 。
    说实在的 scala 还是可以的,就是 sbt 太垃圾了
    varrily
    varrily
    Aug 6, 2020
    44
    公司 11,个人 8,懒得升了。
    abcbuzhiming
    abcbuzhiming
    Aug 6, 2020
    45
    @lrj2u ZGC 的表现如何我不知道,但是在我这里有一个奇怪的现象:jdk11 启动 Spring 项目就是不如 jdk8 快,总是要慢个 1-2 秒,网上找也没找到答案。
    zhady009
    zhady009
    Aug 6, 2020
    46
    @abcbuzhiming 为啥我这里测试和你相反..jdk11 更快
    而且之前测试过 jdk11 的 stream 耗时更加平均 jdk8 的第一次跑就很慢
    gz911122
    gz911122
    Aug 6, 2020
    47
    @sagaxu
    get 带 body 也太魔鬼了.
    这么写接口不会被前端 /客户端打死吗
    newmlp
    newmlp
    Aug 6, 2020
    48
    @ChanKc 如果返回值是模板套模板,那类型推导不是很香吗
    rykinia
    rykinia
    Aug 6, 2020
    49
    @gz911122 其实 http 协议的设定就是任何请求都可以带 body
    gz911122
    gz911122
    Aug 6, 2020
    50
    @rykinia 是的 , 设定是这样没错
    cheng6563
    cheng6563
    Aug 9, 2020
    51
    想要个?.
    b2byco
    b2byco
    Aug 21, 2020
    52
    JDK11 以上,其实 jdk9 开始 hotspot 在系统装了 GB18030 support package 后会因为字符集问题启动 VM 失败,OpenJ9 没有问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   493 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 21:09 · PVG 05:09 · LAX 13:09 · JFK 16:09
    ♥ Do have faith in what you're doing.