Ayanokouji
V2EX  ›  Java

JDK 25 发布了, LTS 版本

  •  
  •   Ayanokouji · Sep 17, 2025 · 10527 views
    This topic created in 416 days ago, the information mentioned may be changed or developed.
    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 多年了。
    62 replies  •  2025-09-23 12:34:57 +08:00
    red13
    red13
    Sep 17, 2025❤️23
    1
    你的头像真棒
    CodeCodeStudy
    CodeCodeStudy
    Sep 17, 2025
    2
    老项目原来用什么版本还继续用什么版本,新项目都用 jdk25 了,jdk21 虽然也是 LTS ,但是虚拟线程不完善,就不要再用了,17,11,8 都很旧的了
    wysnxzm
    wysnxzm
    Sep 17, 2025
    3
    坐等 java8 npc
    w292614191
    w292614191
    Sep 17, 2025
    4
    @CodeCodeStudy #2 17 都跟不上了吗,哈哈哈。既然 jdk 更新这么快,就应该执行自动更新,开发配套都要跟上这类自动更新才有持续性
    sleepyfevniv
    sleepyfevniv
    Sep 17, 2025
    5
    你发任你发,我用 Java 8 。/doge /doge 。

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

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

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

    后来了解到了 termux ,一试,牛逼啊,居然能直接跑起来。于是安卓手机居然也直接变成了 NAS ,除了最基础的同步、备份文件,更是可以直接在本机看小说什么的。也可以反过来作为 web 服务器,供其他电脑、手机看小说、听音乐、观影什么的(当然存储毕竟太小,观影只是技术上可行,实际存不了几部影片)。全拉通了。此时再回头看 iPhone ,好落后啊。
    Mithril
    Mithril
    Sep 18, 2025
    57
    @HTravel Termux 还支持 Go 和 Python ,很多时候你 Github 上拉了代码扔里面编译一下直接就能跑,非常好用。
    raodao
    raodao
    Sep 18, 2025
    58
    @HTravel “我的项目为了同时支持在 termux 中跑,只能先停在 jdk21”
    你可以考虑自己编译 jdk,哈哈哈
    zhouhu
    zhouhu
    Sep 18, 2025
    59
    有哪些性能提升啊
    iamwin
    iamwin
    Sep 18, 2025
    60
    jre 已经升级上去了
    HTravel
    HTravel
    Sep 18, 2025
    61
    @raodao iPhone 里面有个类似的终端叫 iSH ,我当时让 AI 给我编译 jdk21 ,咋折腾都没成功。iSH 只支持到 jdk8
    codingmiao
    codingmiao
    Sep 23, 2025
    62
    向量相关的 API 哪个版本孵化出来呀。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1727 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 99ms · UTC 12:40 · PVG 20:40 · LAX 04:40 · JFK 07:40
    ♥ Do have faith in what you're doing.