Java24发布,人麻了。。。

前两天,Java 24正式GA了,这次一共发布了24个JEP

挑几个重点说说。

499: Structured Concurrency

JDK 21中Kotlin、Swift致敬,而推出的结构化并发,已经来到了第四次预览。

Java的结构化并发(Structured Concurrency)是JDK 21引入的预览特性(JEP 453),旨在简化并发编程的复杂性,解决传统多线程模型(如ExecutorServiceThread)的痛点。

它通过作用域(Scope) 将并发任务组织为一个结构化单元,确保子任务的生命周期与作用域绑定,并实现自动资源管理和异常集中处理。

传统模型依赖手动管理线程/任务生命周期(如ExecutorService.shutdown()),容易遗漏未完成任务,导致线程泄漏。

有了结构化并发后,通过StructuredTaskScope作用域,任务自动关联生命周期,在作用域结束时(如try-with-resources块外),所有子任务强制取消或等待终止,并释放资源。

491: Synchronize Virtual Threads without Pinning

还有就是,我之前在我的八股文讲过的在synchronized代码块或者方法中使用虚拟线程,会导致虚拟线被绑定物理线程上。

这个版本中已经做了解绑,这样就可以大大提升并发度和吞吐量了。可以愉快的虚拟线程中使用synchronized了。

和虚拟线程有关的还有一个就是JDK 24开始不再支持Windows 32 位 x86版本了,因为他无法实现虚拟线程,只能用内核线程。

404: Generational Shenandoah

那个被认为是G1的继任者,摒弃分代模型的Shenandoah GC在JDK24中升级为正式功能了,用了它,将进一步把GC耗时控制在10ms以内。

Shenandoah GC 是一种针对低停顿时间优化的垃圾回收器,通过并发执行大部分垃圾回收任务(包括内存压缩)显著减少应用程序的停顿时间。Shenandoah 的设计目标是将停顿时间与堆大小解耦。无论是 2GB 还是 200GB 的堆,其停顿时间均可控制在相似水平,避免因堆膨胀导致长暂停。

Shenandoah GC 使用时,堆内存被划分为独立的区域(Region),但不采用传统的分代模型(如年轻代/老年代)。每个区域可根据对象存活情况自主管理,避免分代切换的复杂性。(Java面试宝典

与G1GC的差异:两者均基于区域划分,但G1保留分代模型,而Shenandoah完全摒弃分代,简化了回收逻辑,更适合需要持续低延迟的场景 

与ZGC的定位相似:两者均追求亚毫秒级停顿,但Shenandoah的压缩机制更注重并发执行,而ZGC依赖染色指针技术 

488: Primitive Types in Patterns, instanceof, and switch (Second Preview)
instanceof大家都熟悉,在最开始只支持对象类型,现在开始支持基本数据类型了。这么做的好处就是可以减少拆装箱的开销。
这样就可以大大提升switch模式匹配的能力。如:
switch (x.getStatus()) {    case 0 -> "okay";    case 1 -> "warning";    case 2 -> "error";    default -> "unknown status: " + x.getStatus();}
485: Stream Gatherers
JEP485(Stream Gatherers)是 JDK 24 的正式功能,旨在为 Java 的 Stream API 提供自定义中间操作的支持,解决现有内置中间操作(如 map()、filter())难以覆盖的复杂场景。(Java面试宝典)
JEP485 引入 Gatherer 接口,允许开发者定义 自定义中间操作,将数据转换方式扩展到一对一、多对一、多对多等复杂模式,并支持高效并行处理。其设计目标是“让流式管道能够以前置中间操作无法实现的方式转换数据”。
如实现窗口化分组:
Stream.iterate(0, i -> i+1)        .limit(8)        .gather(Gatherers.windowFixed(3))  // 固定窗口大小为3        .toList();  // 输出 [[0,1,2], [3,4,5], [6,7]]
实现累计计算:
Stream.of(1, 2, 3, 4, 5)        .gather(Gatherers.fold(() -> 0, Integer::sum))        .forEach(System.out::println);  // 输出 15
498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe

sun.misc.Unsafe的内存访问方法(如直接操作内存或绕过Java安全检查)长期未受支持,已被终端弃用(在JDK 23中),但因其广泛使用而未被立即移除。这些方法可能导致程序崩溃(如未经检查的内存操作)、性能下降(如因绕过优化导致JVM无法优化代码)或安全漏洞。

为最终移除 Unsafe 的内存访问方法铺平道路,同时避免因直接删除导致的兼容性问题。通过警告推动开发者迁移,确保应用平稳过渡到标准化API

496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism
497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm
这两个JEP都专注于后量子密码学。首先是为 Java 平台引入抗量子的模块-基于格的密钥封装机制(ML-KEM),增强 Java 应用的安全性,使其逐步适配后量子加密(PQC)标准。

并引入抗量子密码学中的模块格(Module-Lattice)数字签名算法(ML-DSA),以增强 Java 安全性,使其能够抵御未来量子计算机的攻击。

要不要升级?

不用!这个版本不是LTS的,并且更新也没啥特别的,完全可以再等等。

(-End-)

文中提到的我的八股文,是我出的后端java面试宝典,目前已经有110多万字了,1100+道题。场景题已经有100+了。

而且每道题都有详细答案,这个答案不是说随随便便几句话的,也不是东拼西凑的,更不是AI生成的。

每一篇都包含了典型回答和扩展知识,帮助大家更好的理解着去学习。

我们会持续更新内容,争取做到全网最新、最全、最准确的Java后端面试宝典。

图片

(长按扫码去下单)

很多人也通过这份宝典上岸了(目前已知最高的拿到年包80的Offer,很多人上岸阿里、美团、快手、华为、滴滴、携程、小红书等中大厂),趁现在还未涨价,有需要的抓紧上车吧。

在线课程,文字形式,永久更新。

八股文详细介绍:Java面试宝典更新介绍

下单后,不满意3天内可以无条件退款!只要你觉得它是任何一个市面上可以看到的面试题库可以比拟的,不管别人卖多少钱,只要你有这种感觉了,都直接来退款!就是这么自信!!

(下单后按照短信提示申请权限并联系客服审批即可)

图片

基于机器学习的音频情感分析系统Python源码(高分项目),能够从语音中识别出四种基本情感:愤怒、快乐、中性和悲伤。个经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统Python源码(高分项目)基于机器学习的音频情感分析系统P
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值