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

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

  •  
  •   jack778 · 105 天前 · 4005 次点击
    这是一个创建于 105 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    36 条回复    2021-08-24 22:15:35 +08:00
    Hancock
        1
    Hancock   105 天前
    自己 11,公司用 8
    yanzhiling2001
        2
    yanzhiling2001   105 天前   ❤️ 1
    springboot 用啥我用啥。我觉得你可能需要 www.injdk.cn
    cco
        3
    cco   105 天前
    公司 11,自己用就跟着新的来,反正试了下用搞版本的跑 11 的项目也没出现什么问题,当然如果工程复杂,建议 11 就行。
    echo1937
        4
    echo1937   105 天前
    chendy
        5
    chendy   105 天前
    公司用 8 求稳
    自己玩用最新学习新特性
    sagaxu
        6
    sagaxu   105 天前 via Android
    11 部分库和框架已经开始不支持 8 了
    x940727
        7
    x940727   105 天前
    如果是最新的 Spring Boot,想用哪个版本用哪个版本( 11-16 ),如果有 Netty 之类的需求,那大概率是 8 了,模块化以后的也不是不能用,对开发者要求高一些。
    intmax2147483647
        8
    intmax2147483647   105 天前
    热知识:Java LTS 的版本 8, 11, 17(21-9 月)。。。
    xuanbg
        9
    xuanbg   105 天前
    8
    breezeFP
        10
    breezeFP   105 天前
    11 吧,喜欢它的模块化,如果没有其它语言基础的可能需要学习一下,按需引入才是正确的
    dbpe
        11
    dbpe   105 天前
    自己 16,公司 11
    Bigglesworth
        12
    Bigglesworth   105 天前
    用开源的 JDK 了,openJDK1.8
    Ayanokouji
        13
    Ayanokouji   105 天前
    直接准备 17,9 月份就发布了
    Kyle18Tang
        14
    Kyle18Tang   105 天前
    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   105 天前
    不超过 11
    salmon5
        16
    salmon5   105 天前
    SekiBetu
        17
    SekiBetu   105 天前
    只要没用到 8 的一些不兼容的东西比如 javafx,就直接上 11 或者 17,Java17 修了一个影响 GC20%性能的问题,非常牛
    Bromine0x23
        18
    Bromine0x23   105 天前
    11
    MonikaCeng
        19
    MonikaCeng   105 天前 via Android
    一直用 8u202 不敢升级
    lululau
        20
    lululau   105 天前 via iPhone
    有新不用旧
    leafre
        21
    leafre   105 天前
    8
    zrpain
        22
    zrpain   105 天前
    @yanzhiling2001 用 SDKMAN 呀
    Leviathann
        23
    Leviathann   105 天前
    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   105 天前
    根据 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   104 天前 via Android
    已经 16,静待 17
    boatrain1111
        26
    boatrain1111   104 天前
    @SekiBetu 这个有出处吗?
    cedoo22
        27
    cedoo22   104 天前
    公司还是用 8,11 跑起来如果有问题就很烦躁。
    感觉 JDK 版本发疯一样, 之前 1.* 感觉拉粑粑一样,后面 5-8 感觉还正常, 再后来 9-现在 跟窜稀了一样。。
    cubecube
        28
    cubecube   104 天前
    @SekiBetu 啥问题,你说那个 G1 的自动 region 大小划分的问题么?我记得那个 15 修的
    dbpe
        29
    dbpe   104 天前
    @cedoo22 这个锅得 sun 背一下吧...太难产了...Oracle 接受后,明显 KPI 上来了,版本就小步快跑了
    galikeoy
        30
    galikeoy   104 天前
    @cedoo22 #27 奇妙比喻
    intmax2147483647
        31
    intmax2147483647   103 天前
    @SekiBetu 展开说说
    SekiBetu
        32
    SekiBetu   102 天前
    @boatrain1111 @cubecube @intmax2147483647
    是个国人找到的漏洞,影响范围是 Java 8~16,在 Java 17 中被修复
    https://my.oschina.net/openeuler/blog/5163446
    SekiBetu
        33
    SekiBetu   102 天前
    说错了,影响范围是 Java 9~16
    cubecube
        34
    cubecube   101 天前
    @SekiBetu 不可不算啥严重并普适性的的性能 bug,这个文章我之前读过,因为触发条件非常特殊,故没在意。
    正常人根本触发不了这个 bug,大部分人,谁会去禁用 PLAB 呢。
    前提条件是:
    通过参数显式地禁止了 ResizePLAB 是触发该问题的必要条件
    ikas
        35
    ikas   100 天前
    最少 jdk11,就是安卓现在最新的官方都是最低 java11 了...
    已经很多软件开始淘汰 java8 了,,起步几乎都是 java11....
    如果还担心 java11 有问题..那只能说杞人忧天
    kaneg
        36
    kaneg   98 天前
    再等几天直接上 Java17,是个长期支持版本,起码未来 5 年都不用考虑升级的问题了。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2168 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:56 · PVG 23:56 · LAX 07:56 · JFK 10:56
    ♥ Do have faith in what you're doing.