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

JDK 25 发布了, LTS 版本

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

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

    后来了解到了 termux ,一试,牛逼啊,居然能直接跑起来。于是安卓手机居然也直接变成了 NAS ,除了最基础的同步、备份文件,更是可以直接在本机看小说什么的。也可以反过来作为 web 服务器,供其他电脑、手机看小说、听音乐、观影什么的(当然存储毕竟太小,观影只是技术上可行,实际存不了几部影片)。全拉通了。此时再回头看 iPhone ,好落后啊。
    Mithril
        57
    Mithril  
       17 分钟前
    @HTravel Termux 还支持 Go 和 Python ,很多时候你 Github 上拉了代码扔里面编译一下直接就能跑,非常好用。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5423 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 03:11 · PVG 11:11 · LAX 20:11 · JFK 23:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.