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

现在做新的 Java 项目用什么 jdk 版本比较好?

  •  
  •   jack778 · 2021-08-17 14:23:20 +08:00 · 7319 次点击
    这是一个创建于 1224 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直都用的是 java8,后面的 jdk 版本都没怎么了解过,听说有的以后还可能要收费,大家一般都用什么 jdk 版本,是不是越新的版本越好用呢

    36 条回复    2021-08-24 22:15:35 +08:00
    Hancock
        1
    Hancock  
       2021-08-17 14:25:07 +08:00
    自己 11,公司用 8
    40EaE5uJO3Xt1VVa
        2
    40EaE5uJO3Xt1VVa  
       2021-08-17 14:27:15 +08:00   ❤️ 1
    springboot 用啥我用啥。我觉得你可能需要 www.injdk.cn
    cco
        3
    cco  
       2021-08-17 14:27:39 +08:00
    公司 11,自己用就跟着新的来,反正试了下用搞版本的跑 11 的项目也没出现什么问题,当然如果工程复杂,建议 11 就行。
    echo1937
        4
    echo1937  
       2021-08-17 14:29:00 +08:00
    chendy
        5
    chendy  
       2021-08-17 14:42:40 +08:00
    公司用 8 求稳
    自己玩用最新学习新特性
    sagaxu
        6
    sagaxu  
       2021-08-17 14:43:13 +08:00 via Android
    11 部分库和框架已经开始不支持 8 了
    x940727
        7
    x940727  
       2021-08-17 14:43:18 +08:00
    如果是最新的 Spring Boot,想用哪个版本用哪个版本( 11-16 ),如果有 Netty 之类的需求,那大概率是 8 了,模块化以后的也不是不能用,对开发者要求高一些。
    intmax2147483647
        8
    intmax2147483647  
       2021-08-17 15:36:45 +08:00
    热知识:Java LTS 的版本 8, 11, 17(21-9 月)。。。
    xuanbg
        9
    xuanbg  
       2021-08-17 15:50:52 +08:00
    8
    breezeFP
        10
    breezeFP  
       2021-08-17 15:53:56 +08:00
    11 吧,喜欢它的模块化,如果没有其它语言基础的可能需要学习一下,按需引入才是正确的
    dbpe
        11
    dbpe  
       2021-08-17 16:23:35 +08:00
    自己 16,公司 11
    Bigglesworth
        12
    Bigglesworth  
       2021-08-17 17:11:49 +08:00
    用开源的 JDK 了,openJDK1.8
    Ayanokouji
        13
    Ayanokouji  
       2021-08-17 17:24:24 +08:00
    直接准备 17,9 月份就发布了
    Kyle18Tang
        14
    Kyle18Tang  
       2021-08-17 18:24:38 +08:00
    java -version
    openjdk version "11.0.12" 2021-07-20
    OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
    OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)

    下个月准备升 17.
    ciki
        15
    ciki  
       2021-08-17 18:45:30 +08:00
    不超过 11
    salmon5
        16
    salmon5  
       2021-08-17 18:48:38 +08:00
    SekiBetu
        17
    SekiBetu  
       2021-08-17 19:00:35 +08:00
    只要没用到 8 的一些不兼容的东西比如 javafx,就直接上 11 或者 17,Java17 修了一个影响 GC20%性能的问题,非常牛
    Bromine0x23
        18
    Bromine0x23  
       2021-08-17 21:00:22 +08:00
    11
    MonikaCeng
        19
    MonikaCeng  
       2021-08-17 21:01:24 +08:00 via Android
    一直用 8u202 不敢升级
    lululau
        20
    lululau  
       2021-08-17 21:16:07 +08:00 via iPhone
    有新不用旧
    leafre
        21
    leafre  
       2021-08-17 21:31:15 +08:00
    8
    zrpain
        22
    zrpain  
       2021-08-17 21:45:23 +08:00
    @yanzhiling2001 用 SDKMAN 呀
    Leviathann
        23
    Leviathann  
       2021-08-17 22:31:20 +08:00
    openjdk version "11.0.11" 2021-04-20
    OpenJDK Runtime Environment GraalVM CE 21.1.0 (build 11.0.11+8-jvmci-21.1-b05)
    OpenJDK 64-Bit Server VM GraalVM CE 21.1.0 (build 11.0.11+8-jvmci-21.1-b05, mixed mode, sharing)
    Leviathann
        24
    Leviathann  
       2021-08-17 22:43:30 +08:00
    根据 fb 的经验,graalvm 的 runtime 可以获得 10%+的免费的性能提升
    Since performance was a major consideration, the Facebook team decided to evaluate GraalVM as their Java runtime and see whether it would improve the performance of their Java applications. GraalVM offers advanced optimizations, such as partial escape analysis and inlining heuristics. Thanks to that, many Java/JVM applications will see performance gains out of the box just by switching to GraalVM. As the Facebook team also observed, GraalVM shows significant YoY improvements compared to C2 on benchmarks like SpecJVM2008 and DaCapo.
    kingfalse
        25
    kingfalse  
       2021-08-18 07:27:07 +08:00 via Android
    已经 16,静待 17
    boatrain1111
        26
    boatrain1111  
       2021-08-18 09:06:09 +08:00
    @SekiBetu 这个有出处吗?
    cedoo22
        27
    cedoo22  
       2021-08-18 10:02:38 +08:00
    公司还是用 8,11 跑起来如果有问题就很烦躁。
    感觉 JDK 版本发疯一样, 之前 1.* 感觉拉粑粑一样,后面 5-8 感觉还正常, 再后来 9-现在 跟窜稀了一样。。
    cubecube
        28
    cubecube  
       2021-08-18 11:55:08 +08:00
    @SekiBetu 啥问题,你说那个 G1 的自动 region 大小划分的问题么?我记得那个 15 修的
    dbpe
        29
    dbpe  
       2021-08-18 14:51:06 +08:00
    @cedoo22 这个锅得 sun 背一下吧...太难产了...Oracle 接受后,明显 KPI 上来了,版本就小步快跑了
    galikeoy
        30
    galikeoy  
       2021-08-18 15:07:30 +08:00
    @cedoo22 #27 奇妙比喻
    intmax2147483647
        31
    intmax2147483647  
       2021-08-19 10:42:47 +08:00
    @SekiBetu 展开说说
    SekiBetu
        32
    SekiBetu  
       2021-08-20 23:11:44 +08:00
    @boatrain1111 @cubecube @intmax2147483647
    是个国人找到的漏洞,影响范围是 Java 8~16,在 Java 17 中被修复
    https://my.oschina.net/openeuler/blog/5163446
    SekiBetu
        33
    SekiBetu  
       2021-08-20 23:13:19 +08:00
    说错了,影响范围是 Java 9~16
    cubecube
        34
    cubecube  
       2021-08-21 02:09:55 +08:00
    @SekiBetu 不可不算啥严重并普适性的的性能 bug,这个文章我之前读过,因为触发条件非常特殊,故没在意。
    正常人根本触发不了这个 bug,大部分人,谁会去禁用 PLAB 呢。
    前提条件是:
    通过参数显式地禁止了 ResizePLAB 是触发该问题的必要条件
    ikas
        35
    ikas  
       2021-08-22 16:37:12 +08:00
    最少 jdk11,就是安卓现在最新的官方都是最低 java11 了...
    已经很多软件开始淘汰 java8 了,,起步几乎都是 java11....
    如果还担心 java11 有问题..那只能说杞人忧天
    kaneg
        36
    kaneg  
       2021-08-24 22:15:35 +08:00
    再等几天直接上 Java17,是个长期支持版本,起码未来 5 年都不用考虑升级的问题了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3265 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:10 · PVG 20:10 · LAX 04:10 · JFK 07:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.