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 的执行。

相关推荐
葵续浅笑10 分钟前
LeetCode - 杨辉三角 / 二叉树的最大深度
java·数据结构·算法·leetcode
装不满的克莱因瓶19 分钟前
【Java架构师】各个微服务之间有哪些调用方式?
java·开发语言·微服务·架构·dubbo·restful·springcloud
N 年 后32 分钟前
cursor和传统idea的区别是什么?
java·人工智能·intellij-idea
CodeLongBear1 小时前
从Java后端到Python大模型:我的学习转型与规划
java·python·学习
Miraitowa_cheems1 小时前
LeetCode算法日记 - Day 94: 最长的斐波那契子序列的长度
java·数据结构·算法·leetcode·深度优先·动态规划
Zz_waiting.1 小时前
统一服务入口-Gateway
java·开发语言·gateway
ada7_1 小时前
LeetCode(python)——49.字母异位词分组
java·python·leetcode
DyLatte1 小时前
AI时代的工作和成长
java·后端·程序员
青春不流名1 小时前
nginx
java
.ZGR.2 小时前
第十六届蓝桥杯省赛 C 组——Java题解1(链表知识点)
java·算法·链表·蓝桥杯