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

JDK 25 发布了, LTS 版本

  •  
  •   Ayanokouji · 1 天前 · 6904 次点击
    JDK 24 修复了虚拟线程 bug

    https://openjdk.org/projects/jdk/25/

    Features

    470: PEM Encodings of Cryptographic Objects (Preview)
    502: Stable Values (Preview)
    503: Remove the 32-bit x86 Port
    505: Structured Concurrency (Fifth Preview)
    506: Scoped Values
    507: Primitive Types in Patterns, instanceof, and switch (Third Preview)
    508: Vector API (Tenth Incubator)
    509: JFR CPU-Time Profiling (Experimental)
    510: Key Derivation Function API
    511: Module Import Declarations
    512: Compact Source Files and Instance Main Methods
    513: Flexible Constructor Bodies
    514: Ahead-of-Time Command-Line Ergonomics
    515: Ahead-of-Time Method Profiling
    518: JFR Cooperative Sampling
    519: Compact Object Headers
    520: JFR Method Timing & Tracing
    521: Generational Shenandoah


    本帖依旧不欢迎刷 JDK 8 梗,JDK 8 已经发布 10 多年了。
    61 条回复    2025-09-18 20:21:49 +08:00
    red13
        1
    red13  
       1 天前   ❤️ 22
    你的头像真棒
    CodeCodeStudy
        2
    CodeCodeStudy  
       1 天前
    老项目原来用什么版本还继续用什么版本,新项目都用 jdk25 了,jdk21 虽然也是 LTS ,但是虚拟线程不完善,就不要再用了,17,11,8 都很旧的了
    wysnxzm
        3
    wysnxzm  
       1 天前
    坐等 java8 npc
    w292614191
        4
    w292614191  
       1 天前
    @CodeCodeStudy #2 17 都跟不上了吗,哈哈哈。既然 jdk 更新这么快,就应该执行自动更新,开发配套都要跟上这类自动更新才有持续性
    sleepybear1113
        5
    sleepybear1113  
       1 天前
    你发任你发,我用 Java 8 。/doge /doge 。

    我准备下载 25 了,给个人自己的项目从 21 升级到 25 去,顺便看看哪些地方可以用用新特性的。那些说用死守 8 不升级的,不建议公开丢人,自己默默维护就好了。
    Ayanokouji
        6
    Ayanokouji  
    OP
       1 天前
    @red13 头像咋了,默认的,没看出啥来
    stinkytofux
        7
    stinkytofux  
       1 天前
    惭愧啊, 我到现在还没有用上虚拟线程, 天天维护屎山代码, 已经丧失了学习新东西的动力.
    ooxx2123
        8
    ooxx2123  
       1 天前
    当前公司主流项目才用的 jdk8 ,还有在维护的项目用的 jdk6 ,升级版本遥遥无期。只能个人项目先练手用了。
    red13
        9
    red13  
       1 天前 via Android   ❤️ 3
    @Ayanokouji 像个屌
    dlmy
        10
    dlmy  
       1 天前   ❤️ 1
    新项目刚用 JDK 21 + Kotlin ,完全跟不上 JDK 的发版速度
    belin520
        11
    belin520  
       1 天前   ❤️ 2
    @red13 #9 也像竖中指,一“举”两得
    yty2012g
        12
    yty2012g  
       1 天前
    很好,Scoped Value 已经 Release 了。就差 Structured Concurrency Release ,java 并发框架的新时代也就正式开始了。我还以为 25 能把 Structured Concurrency 也 Release 了
    Goooooos
        13
    Goooooos  
       1 天前
    线上的后台系统升了
    HTravel
        14
    HTravel  
       1 天前
    我个人项目用的是 jdk21 ,也是因为安卓里面的 termux 即使到今天最高版本也只到 jdk21 。我的项目为了同时支持在 termux 中跑,只能先停在 jdk21 。

    希望 termux 努力点,别总是拖后腿
    wupher
        15
    wupher  
       1 天前
    I hate JDK 8.
    shenlanAZ
        16
    shenlanAZ  
       1 天前
    ScopedValue vs ThreadLocal ,ThreadLocal 已经被某些号用"臭名昭著"来形容了...
    kaedea
        17
    kaedea  
       1 天前 via Android
    JDK 25 已经结束咧,让我们把注意力放到 JDK 26 吧。说起来今年 JDK 的中文版星之所在不错 😎。
    Hudiebbk
        18
    Hudiebbk  
       1 天前
    本地开发和测试环境搞起来
    Meld
        19
    Meld  
       1 天前
    线上服务准备 21 升 25
    Bromine0x23
        20
    Bromine0x23  
       1 天前
    Valhalla 啥时候能憋出来……
    vate32
        21
    vate32  
       1 天前
    最近项目刚从 8 升到 11 ,升到这些版本还遥遥无期🥲
    lhwj1988
        22
    lhwj1988  
       1 天前 via iPhone
    超绝头像
    Damn
        23
    Damn  
       1 天前 via iPhone   ❤️ 1
    @red13 你的头,像真棒
    还是
    你的头像,真棒
    Ken1028
        24
    Ken1028  
       1 天前
    @Damn 你开车刷了我的 etc 上了高速
    qW7bo2FbzbC0
        25
    qW7bo2FbzbC0  
       1 天前
    string template 啥时候能重新发布?
    Ayanokouji
        26
    Ayanokouji  
    OP
       1 天前
    @qW7bo2FbzbC0 这个废弃了吧
    qW7bo2FbzbC0
        27
    qW7bo2FbzbC0  
       1 天前
    @Ayanokouji 是的,大部分语言都有的字符串内插 template 功能,在 2025 年发布的 JDK25 里面竟然还没有,而且是发布后又撤回的状态
    dode
        28
    dode  
       1 天前
    JDK 25
    Gress
        29
    Gress  
       1 天前
    好像还有个 JNI 还会 Pin 物理线程?这个还会处理吗?
    lcingOnTheCake
        30
    lcingOnTheCake  
       1 天前
    @vate32 8 为什么不直接升 21
    xrxb
        31
    xrxb  
       1 天前
    学不动了,新项目也不敢直接用吧,怕有大坑
    Greendays
        32
    Greendays  
       1 天前
    最近项目上适配了 SQLServer 2005 的数据库,居然还只能用 JDK 11
    EastLord
        33
    EastLord  
       1 天前
    @Greendays 驱动不能用高版本 JDK 吗?
    Ayanokouji
        34
    Ayanokouji  
    OP
       1 天前
    @xrxb 11 月份还有 spring 7 和 spring boot 4 🐶
    superedlimited
        35
    superedlimited  
       1 天前 via iPhone
    什么 jb 头像( doge
    Greendays
        36
    Greendays  
       1 天前
    @EastLord 对的
    buruoyanyang
        37
    buruoyanyang  
       1 天前
    新项目已经到 17 了,准备升 21 ,老项目还在 8 蛄蛹,放弃了。
    bootvue
        38
    bootvue  
       1 天前
    @Greendays 可以试试 jtds 驱动 + anyline 操作数据库 2005 我没试过 2000 / 2008 r2 jdk21 我试过都没问题
    jjianwen68
        39
    jjianwen68  
       1 天前
    好像 preview 功能,使用时还要加个什么参数,有人在生产上使用 preview 的功能吗
    jamesxu
        40
    jamesxu  
       1 天前
    公司从前年开始新项目都用 JDK17 了,等过两年各种库都成熟了再升级 JDK25
    iphoneXr
        41
    iphoneXr  
       1 天前
    头像咋了?
    tiedan
        42
    tiedan  
       1 天前
    @iphoneXr 你这个头像是带环了
    beetlerx
        43
    beetlerx  
       1 天前
    @red13 #9 你这么一说 你的头像更屌,都喷水了
    CodeCodeStudy
        44
    CodeCodeStudy  
       1 天前
    @w292614191 #4 既然是新项目了,干嘛还要用 17 ,能用新的就用新的。jdk 半年更新一个版本,每 2 年更新一个 LTS 版本,下一个 LTS 是 27 年 9 月份的 jdk29 。
    chinni
        45
    chinni  
       1 天前
    jdk8 yyds
    yacolinqi
        46
    yacolinqi  
       1 天前
    依旧 1.6
    felixcode
        47
    felixcode  
       1 天前 via Android
    centos 7 ,jdk 8 和 mysql 5 才是养老黄金组合
    clf
        48
    clf  
       1 天前
    以后 Java 考试再也不能说构造器里需要先执行任一 super()才能执行其他了。
    a33291
        49
    a33291  
       1 天前
    也开始刷版本号了呗
    bbbblue
        50
    bbbblue  
       21 小时 37 分钟前
    可惜结构化并发还是 preview 啊。。。。啊
    bbbblue
        51
    bbbblue  
       21 小时 36 分钟前
    @jjianwen68 不敢用 因为他不保证 api 以及内部实现不变。。。preview 就当他不存在吧...
    w292614191
        52
    w292614191  
       14 小时 21 分钟前
    @CodeCodeStudy #44 那就是要在多个 JDK 之前返回横跳进行维护开发了
    Ayanokouji
        53
    Ayanokouji  
    OP
       14 小时 8 分钟前   ❤️ 1
    @a33291 JDK10 发布于 2018-03-20 ,此后定了每半年一个版本,到了 25 才说刷版本号,别给自己不学找借口了。
    craftsmanship
        54
    craftsmanship  
       13 小时 39 分钟前 via Android
    @HTravel 好奇问下什么功能/场景需要同时支持跑 termux
    CodeCodeStudy
        55
    CodeCodeStudy  
       13 小时 15 分钟前
    @w292614191 #52 这没什么,安装多个 JDK 就是了,在脚本里设置 JAVA_HOME, PATH 即可。高版本向下兼容。
    HTravel
        56
    HTravel  
       13 小时 11 分钟前   ❤️ 1
    @craftsmanship 最开始不是为手机写的。就是发现我要同步文件,SMB 方式有局限性,最好的方式自然是基于 HTTP 协议的 API ,全球各地的路由器和防火墙都会默认放通该类流量。于是就给自己写了可以通过 web API 同步一台机器上所有文件的 web 服务。很自然的就在 windows 、macOS 、群晖和威联通(通过 docker)全部跑起来了,互相间同步感兴趣的文件。同步过来后,自然就可以继续在本机做各种备份了。

    然后进一步发现,我终生都有看小说、听音乐、浏览照片、观看影视综艺的需求,于是就进一步,给不同的文件做了不同的 web 服务,直接通过浏览器访问。

    后来了解到了 termux ,一试,牛逼啊,居然能直接跑起来。于是安卓手机居然也直接变成了 NAS ,除了最基础的同步、备份文件,更是可以直接在本机看小说什么的。也可以反过来作为 web 服务器,供其他电脑、手机看小说、听音乐、观影什么的(当然存储毕竟太小,观影只是技术上可行,实际存不了几部影片)。全拉通了。此时再回头看 iPhone ,好落后啊。
    Mithril
        57
    Mithril  
       12 小时 3 分钟前
    @HTravel Termux 还支持 Go 和 Python ,很多时候你 Github 上拉了代码扔里面编译一下直接就能跑,非常好用。
    raodao
        58
    raodao  
       8 小时 44 分钟前
    @HTravel “我的项目为了同时支持在 termux 中跑,只能先停在 jdk21”
    你可以考虑自己编译 jdk,哈哈哈
    zhouhu
        59
    zhouhu  
       5 小时 57 分钟前
    有哪些性能提升啊
    iamwin
        60
    iamwin  
       5 小时 46 分钟前
    jre 已经升级上去了
    HTravel
        61
    HTravel  
       2 小时 35 分钟前
    @raodao iPhone 里面有个类似的终端叫 iSH ,我当时让 AI 给我编译 jdk21 ,咋折腾都没成功。iSH 只支持到 jdk8
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2693 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:57 · PVG 22:57 · LAX 07:57 · JFK 10:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.