生产环境用比较新的 Java 版本,有遇到什么坑的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
luckyrayyy
V2EX    Java

生产环境用比较新的 Java 版本,有遇到什么坑的吗?

  •  
  •   luckyrayyy 2019-08-22 11:36:39 +08:00 8679 次点击
    这是一个创建于 2295 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想从 8 切到 11 了,不知道有没有什么风险。

    34 条回复    2019-08-23 11:59:08 +08:00
    ahmcsxcc
        1
    ahmcsxcc  
       2019-08-22 11:37:20 +08:00
    8 已经很新了吧
    weo0
        2
    weo0  
       2019-08-22 11:56:39 +08:00
    我都见过用 6 的。。。。
    fumichael
        3
    fumichael  
       2019-08-22 11:59:44 +08:00   1
    甲骨文律师信警告呗
    luozic
        4
    luozic  
       2019-08-22 12:05:54 +08:00 via iPhone
    license 除非用 openjdk 等
    wysnylc
        5
    wysnylc  
       2019-08-22 12:08:49 +08:00
    11 是 tls,有什么坑也轮不到你踩,或者说大部分人包括我和我们
    ben1024
        6
    ben1024  
       2019-08-22 12:13:22 +08:00
    生产没事别折腾
    abdiweli
        7
    abdiweli  
       2019-08-22 12:15:10 +08:00
    我们的一个项目还在 6 上
    anakinsky
        8
    anakinsky  
       2019-08-22 12:31:32 +08:00
    8 以后的版本不能商用了吧
    echo1937
        9
    echo1937  
       2019-08-22 12:33:58 +08:00
    @fumichael #3
    @anakinsky #8

    JDK 的免费版本,我知道的就有 6 个。
    zzf2019
        10
    zzf2019  
       2019-08-22 13:18:43 +08:00
    jdk 我昨天用 openjdk 遇到过坑,openjdk 太精简了,有些偏门的问题,直接无解,现在换成 oracle jdk,大了点,但是应该不会出现问题了
    Cbdy
        11
    Cbdy  
       2019-08-22 13:22:45 +08:00
    我司生产用这个
    https://adoptopenjdk.net/
    likaka
        12
    likaka  
       2019-08-22 13:46:03 +08:00
    没有升级理由
    Rwing
        13
    Rwing  
       2019-08-22 14:00:32 +08:00
    9 月份就出 13 了,然而很多人还在用 8 并且认为 8 很新 (狗头)
    CloudnuY
        14
    CloudnuY  
       2019-08-22 14:03:58 +08:00
    祖传 1.5 不说话
    micean
        15
    micean  
       2019-08-22 14:05:00 +08:00
    就等着 13 了
    iPhoneXI
        16
    iPhoneXI  
       2019-08-22 14:05:59 +08:00 via Android
    8 新个鬼
    10 加上了 var 类型推断,11 是 lts
    LeeSeoung
        17
    LeeSeoung  
       2019-08-22 14:12:29 +08:00
    = =我觉得 10 以上的版本自己小项目玩玩还可以,大部分生产还是 8 为主,避免后面找人接坑一头雾水。。
    Cbdy
        18
    Cbdy  
       2019-08-22 14:33:16 +08:00
    @LeeSeoung compile level 8,跑在 Java 11 的 JVM 上,毕竟新版本性能、GC 提升明显
    monkeyk
        19
    monkeyk  
       2019-08-22 14:50:09 +08:00
    都 8 已经 5 年了, 不计划更新 /
    echo1937
        20
    echo1937  
       2019-08-22 14:59:31 +08:00
    @zzf2019 #10 都是些啥问题啊,分享分享
    qwerthhusn
        21
    qwerthhusn  
       2019-08-22 15:50:55 +08:00
    tls1.3 支持的不是特别好,作为客户端如果连接到支持 tls1.3 的 http 服务时,偶现的握手失败,不过新的更新貌似已经解决了这个问题。。(因为 java11 出来的时候好像 tls1.3 还没最终发布,实现的草稿)

    jdk9 开始带的那个 HttpClient 建议也别使用,继续使用第三方的 http 库,也是多线程情况下出现线程永远卡死处于 WAITING 状态(不知道跟 HTTP2 有没有关系),JDK 的 JIRA 上有不少 HttpClient 相关的 BUG,特别是跟 TLS1.3/HTTP2 相关的

    其余的没发现啥问题,用的 amazon corretto
    guisheng
        22
    guisheng  
       2019-08-22 15:52:40 +08:00
    11 可以自己创建项目玩,不建议直接上生产
    xuanbg
        23
    xuanbg  
       2019-08-22 15:54:27 +08:00
    上 11 的话,很多 8 的代码都要改。。。然后就怂了
    qwerthhusn
        24
    qwerthhusn  
       2019-08-22 15:57:29 +08:00
    HttpClient 的 BUG,使用默认的 API,没瞎设置什么参数,最后所有的线程都卡死在这里

    "XNIO-1 task-3" #58 prio=5 os_prio=0 cpu=214.82ms elapsed=61392.57s tid=0x00007fabf404a800 nid=0x1a972 waiting on condition [0x00007fac577fc000]
    java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for <0x000000008994e000> (a java.util.concurrent.CompletableFuture$Signaller)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1796)
    at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3128)
    at java.util.concurrent.CompletableFuture.waitingGet([email protected]/CompletableFuture.java:1823)
    at java.util.concurrent.CompletableFuture.get([email protected]/CompletableFuture.java:1998)
    at jdk.internal.net.http.HttpClientImpl.send([email protected]/HttpClientImpl.java:541)
    at jdk.internal.net.http.HttpClientFacade.send([email protected]/HttpClientFacade.java:119)
    lzxz1234
        25
    lzxz1234  
       2019-08-22 16:12:33 +08:00
    8 -> 11,开发环境,尝试多次,每次坚持几个月就退回去了。。。
    liujialongstar
        26
    liujialongstar  
       2019-08-22 16:25:31 +08:00
    还在用 7
    yizmaoaa
        27
    yizmaoaa  
       2019-08-22 16:30:44 +08:00
    我是 zulu 的 12 目前没有发现问题
    yjxjn
        28
    yjxjn  
       2019-08-22 16:33:08 +08:00
    @Rwing 我们前一阶段才升级到 8.哈哈哈
    smilekung
        29
    smilekung  
       2019-08-22 16:56:20 +08:00 via Android
    11.0.1 httpclient 有一个 bug 会导致栈溢出 最新版已经修复 所以还是等几个版本修修 bug 吧
    zzf2019
        30
    zzf2019  
       2019-08-23 09:26:23 +08:00
    @echo1937 下面的人已经说完了,就是 httpclient 这个包大有问题
    echo1937
        31
    echo1937  
       2019-08-23 09:30:50 +08:00
    @zzf2019 #30 那还是继续用第三方 HttpClient 吧
    cco
        32
    cco  
       2019-08-23 10:11:50 +08:00
    openjdk8 目前很稳。
    0xljh
        33
    0xljh  
       2019-08-23 10:13:55 +08:00
    用 adoptopenjdk11
    Aresxue
        34
    Aresxue  
       2019-08-23 11:59:08 +08:00
    生产用 8 吧,如果用户量不大而且稳定性要求不高(项目本身就是技术升级试点)可以试试 11,类型推断还不错
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     934 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 20:09 PVG 04:09 LAX 12:09 JFK 15:09
    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