OpenJDK 目前主要发展方向

Loom:得赶紧解决 synchronized pin 线程的问题(据说 Java 23 会解决,现在有预览版)。各个 Java 库需要改造原来使用 ThreadLocal 的方式:如果是为了穿参数,则可以使用 ScopedLocal;如果是对象池避免多线程访问,则需要整体改写为线程安全的方式。

ZGC:分代 ZGC 的 bug 需要多修修。

Panama:一方面是 MemorySegment 的稳定与各个库的改写。一方面是 Vector API 感觉必须等 Valhalla 值对象,以及 Babylon 的 GPU 兼容。而且,说不定,Babylon 的直接解析字节码通过 CUDA 转换 SIMD 使用 GPU 加速会干掉 Vector API。最后一方面是外部函数调用,这个才是真正的 AI 方向,这个稳定了,就会有 Num4j,Sci4j,Pandas4j(这些其实底层都是 C/C++ 上层封装 python api,以后可以在上层换成 Java API 了)

Leyden:一方面是继续压缩对象头的大小,一方面是通过 JVM 冷凝器加速启动时间。类似的 CRaC 的方向已经投入生产,但是需要改造很多东西。希望 Leyden 可以减少改造。

Valhalla:值对象肯定很香,但是估计和虚拟线程一样,出来的话先得改一堆 Bug。

Babylon:期望和虚拟线程一样,无感知将代码转换为 SIMD 的执行。

相关推荐
念越1 分钟前
算法每日一题 Day01|双指针解决移动零问题
java·算法·力扣
敖正炀2 分钟前
StampedLock 详解
java·后端
AllData公司负责人2 分钟前
AllData数据中台集成开源项目Apache Doris建设实时数仓平台
java·大数据·数据库·数据仓库·apache doris·实时数仓平台·doris集群
白宇横流学长2 分钟前
助农产品在线交易平台设计与实现【源码+文档】
java
han_hanker14 分钟前
Spring Boot 如何读取 application.yml 作为配置
java·spring boot·后端
Milu_Jingyu15 分钟前
sqlite3_prepare_v2 与 sqlite3_exec 在 SQLite 中的核心区别
java·数据库·sqlite
计算机学姐19 分钟前
基于SpringBoot的充电桩预约管理系统【阶梯电费+个性化推荐+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·mybatis
han_hanker26 分钟前
Spring Boot 配置类注解@Configuration, @Bean
java·spring boot·后端
Chase_______32 分钟前
【JAVA基础指南(四)】快速掌握类和对象 基础篇
android·java·开发语言
可以简单点33 分钟前
spring为什么使用三级缓存而不是两级?
java·spring·缓存