V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Ayanokouji
V2EX  ›  程序员

JDK 22 发布了

  •  1
     
  •   Ayanokouji · 273 天前 · 6577 次点击
    这是一个创建于 273 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不要刷 jdk8 的梗,你不用,不代表技术不需要更新

    Features

    423: Region Pinning for G1
    447: Statements before super(...) (Preview)
    454: Foreign Function & Memory API
    456: Unnamed Variables & Patterns
    457: Class-File API (Preview)
    458: Launch Multi-File Source-Code Programs
    459: String Templates (Second Preview)
    460: Vector API (Seventh Incubator)
    461: Stream Gatherers (Preview)
    462: Structured Concurrency (Second Preview)
    463: Implicitly Declared Classes and Instance Main Methods (Second Preview)
    464: Scoped Values (Second Preview)
    60 条回复    2024-03-22 15:27:59 +08:00
    chendy
        1
    chendy  
       273 天前
    Memory API 这个是官方的堆外内存 API ?
    dcsuibian
        2
    dcsuibian  
       273 天前
    我还在等《 Core Java 》第 13 版
    Ayanokouji
        3
    Ayanokouji  
    OP
       273 天前
    @chendy 用来代替 jni 的吧,详细可以看下 jep https://openjdk.org/jeps/454
    wysnxzm
        4
    wysnxzm  
       273 天前   ❤️ 17
    "你不用,不代表技术不需要更新" 说得好
    Betasecond
        5
    Betasecond  
       273 天前
    JetbrainsRuntime 21 还没啥动静,希望 idea 早点默认换成 jdk21 。
    anonydmer
        6
    anonydmer  
       273 天前
    一直在跟,有几个不错的特性
    youmilk
        7
    youmilk  
       273 天前
    @Betasecond 我已经切换到 21runtime 很久了
    28Sv0ngQfIE7Yloe
        8
    28Sv0ngQfIE7Yloe  
       273 天前
    新项目我用的是 21 + Springboot 3.2.x

    体验下来很不错
    lstz
        9
    lstz  
       273 天前 via Android
    拥抱变化,这样 Java 才有更好的未来!
    Akitora
        10
    Akitora  
       273 天前
    希望结构化并发早日转正
    lisongeee
        12
    lisongeee  
       273 天前   ❤️ 1
    jdk8 已经发布 10 年了,但是我每天还是能看到诸如《学习 jdk8 新特性》的文章

    类比 JavaScript 还有 es6 已经发布近 9 年,但是我每天还是能看到诸如《学习 es6 新特性》的文章
    yy77
        13
    yy77  
       273 天前
    21 是 LTS ,22 不是。就这个理由就导致 22 只会是一个临时的版本了。
    boatrain1111
        14
    boatrain1111  
       273 天前
    期待结构化并发
    afeiche
        15
    afeiche  
       273 天前
    上个礼拜开会,由于很多老版本安全漏洞没法修复,有人提议强制新项目升级到 21 ,可是很多人都不同意,最后只能改成建议,很多人还是不愿意学习新东西的
    28Sv0ngQfIE7Yloe
        16
    28Sv0ngQfIE7Yloe  
       273 天前   ❤️ 1
    @afeiche

    不是不愿意学,本质上不用新特性的话基本没啥学习成本,大家主要是不愿意承担升级会引起的运维问题。
    BBCCBB
        17
    BBCCBB  
       273 天前
    @afeiche 升级后依然可以按 jdk6 的写法写. 这就是 java 的兼容性.
    LieEar
        18
    LieEar  
       273 天前
    G1 的提升非常明显
    lix7
        19
    lix7  
       273 天前
    458: Launch Multi-File Source-Code Programs
    这个感觉对开发还挺友好,真不错
    enchilada2020
        20
    enchilada2020  
       273 天前 via Android
    昨天刚开完会说要升到 21 期待一把
    flowerains
        21
    flowerains  
       273 天前
    现在可以直接升 21 了,不是 LTS 是不可能在生产环境直接部署的
    主要是有很多历史遗留项目只能在 java8 上跑,这个才是不愿意升级的主要原因

    对于有好奇心的人来说,为啥不愿意折腾新技术呢
    Huelse
        22
    Huelse  
       273 天前
    已经全面转 jdk21 了
    shanghai1943
        23
    shanghai1943  
       273 天前
    前阵子才从 jdk8 升级到 jdk17
    janwarlen
        24
    janwarlen  
       273 天前
    @BBCCBB #17 jdk9 有 module ,需要升级改造的
    xwwsxp
        25
    xwwsxp  
       273 天前
    @janwarlen java 和 node ( JS )不一样的,java 早前就有 package 的概念,而 js 早前没有 package 的概念,反而出现了 module 的概念,jdk9 之后,java 借鉴了 js 的 module ;但是,并不是 java 就一定强制使用 module ,虽然,oracle 建议大家使用。
    BBCCBB
        26
    BBCCBB  
       273 天前
    @janwarlen export all 就行了..
    superchijinpeng
        27
    superchijinpeng  
       273 天前
    全都 21 了
    foolishcrab
        28
    foolishcrab  
       273 天前 via iPhone   ❤️ 10
    就我观察国内公司跟进 21 的非常非常多,因为 vt 太符合互联网业务了,我司核心业务基本都在升级 21 。
    降下来多少台服务器都是能写进业绩的。
    这种时候还在刷“我用 java8”的只能说又蠢又坏
    Subfire
        29
    Subfire  
       273 天前
    等下个 LTS 再体验
    luozic
        30
    luozic  
       273 天前
    JDK 21 的分代 zgc 对于没能力改写成 c++/rust 还是基于 jvm 的大数据 ,可以节约内存的同时还提升性能。
    ldyisbest
        31
    ldyisbest  
       273 天前
    @youmilk idea 里面能手动设置运行时吗? 还是要怎么设置,我发现用 java17 有 bug
    BBCCBB
        32
    BBCCBB  
       273 天前   ❤️ 1
    @ldyisbest 双击 shift 搜索 choose boot runtime for the ide.
    ldyisbest
        33
    ldyisbest  
       273 天前
    @BBCCBB 找到了,谢谢~
    Lambdua
        34
    Lambdua  
       273 天前
    @Betasecond 实际使用效果如何啊
    dif
        35
    dif  
       273 天前
    以前学 java 的时候,从 1.7-11 ,每次发布都会学习下新的特性,语法,API ,11 以后就在没关注过了,顶多装了个 17 和 21 的 JDK ,其实也没学习过新的特性。
    whoami9426
        36
    whoami9426  
       273 天前
    说的好 record 和 文本块 就很香
    zhouhu
        37
    zhouhu  
       273 天前
    @Betasecond 上次在知乎看到说性能没有提升
    Surechun
        38
    Surechun  
       273 天前
    @shanghai1943 去年才把生产全部从 8 升级到 11 ,今年打算升级到 17 。现在 21 也稳了吗?
    cedoo22
        39
    cedoo22  
       273 天前
    之前项目需要,要用 apache nifi , 这玩意最新版居然最低要求 JDK 21 ,然后我新开的项目、jar 都转向 21 了
    奈何公司大部分 java8er , 都抵触升级 21 , 不想改之前的轮子
    zzzmh
        40
    zzzmh  
       273 天前
    正在从 8 过渡到 17 ,目前感觉良好
    MrXiong
        41
    MrXiong  
       273 天前
    @luozic 想知道能提升多少
    yty2012g
        42
    yty2012g  
       273 天前
    公司很多内部的框架,因为使用了类似于 Bytebude 这样的字节码修改工具,导致框架不升级,业务就很难升级。
    simpleisbest
        43
    simpleisbest  
       273 天前
    @foolishcrab 21 不是免费的吧,8 免费啊
    blessingsi
        44
    blessingsi  
       273 天前
    很久不用 java 了,求问现在 g1 和 zgc 是怎么个情况了,二者选择主要要考虑什么呀
    Goooooos
        45
    Goooooos  
       273 天前
    部分老项目迁移到 jdk21 ,那些改不动的还是 jdk8
    ovtfkw
        46
    ovtfkw  
       273 天前 via iPhone
    jdk8 其他关我卵事
    SurfaceView
        47
    SurfaceView  
       273 天前   ❤️ 1
    楼上说 『这种时候还在刷“我用 java8”的只能说又蠢又坏』的人
    别人 用 java 8 就是蠢和坏???这算不算人身攻击呢???
    人家面试进个公司,公司用 java8 ,然后你让人家什么业务也没干呢上来先开会说 必须换成 jdk22 ??
    assiadamo
        48
    assiadamo  
       273 天前
    最想 java 有多返回值和 cpp const 特性
    kneo
        49
    kneo  
       273 天前 via Android
    @Morii 你说的还是不愿意学啊……
    kneo
        50
    kneo  
       273 天前 via Android
    @Morii 你说的就是不愿意学啊……
    kneo
        51
    kneo  
       273 天前 via Android
    不好意思,我以为没发出去。
    sakura6264
        52
    sakura6264  
       273 天前
    不知道这下玩 MC 能不能再快一点(
    Dragonphy
        53
    Dragonphy  
       272 天前
    Dragonphy
        54
    Dragonphy  
       272 天前
    @simpleisbest 很多 OpenJDK 有免费商用的发行版啊,你非要用 Oracle JDK 那也没办法,但是 Oracle JDK 21 我记得也可以免费商用两年的样子。
    shanghai1943
        55
    shanghai1943  
       272 天前
    @Surechun 感觉不着急的话可以再等等。8 升到 17 倒是没遇到太多问题。除了一些 mybatis 访问 java base 包的问题
    28Sv0ngQfIE7Yloe
        56
    28Sv0ngQfIE7Yloe  
       272 天前
    @kneo #49

    愿不愿意学和已经平稳运行的项目生产环境愿不愿意升级到 JDK21 是两码事。
    28Sv0ngQfIE7Yloe
        57
    28Sv0ngQfIE7Yloe  
       272 天前
    @kneo #49 就拿我所在的环境来讲,是否升级到 JDK21 就是一个从上而下的推动,大部门技术负责人开始推,相关的中台支持、基建、DevOPS 服务有了 KPI 才会适配。这种事从来不是我们拧螺丝的可以决定的。
    afeiche
        58
    afeiche  
       271 天前
    @Morii 确实,前几年我自己负责的项目升级到了 17 ,然后集成测试、打包找了一堆人才搞完,公司整体工具链得能跟上,但是线上运维反而没啥问题,可能这就是 java 兼容性的体现吧,
    janus77
        59
    janus77  
       271 天前
    21 不是 LTS 啊。。。。
    Ayanokouji
        60
    Ayanokouji  
    OP
       271 天前
    @janus77 21 是 lts ,22 不是
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2915 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:42 · PVG 22:42 · LAX 06:42 · JFK 09:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.