Java21 make Java great again

2023 年 6 月 16 日
 javak

今天用了下 oracle 放出来的 Java21 早期版本,( Java21 正式版要今年 9.19 发布)。

主要是为了测试虚拟线程( Java21 开始虚拟线程就是正式版了),这是是一个类是 go 协程的东西。

我搞了 100 万个任务,每个任务一个线程模式,效果非常惊艳炸裂。cpu 、内存消耗非常稳定,也不高。相同情况用 Java 之前的普通线程( Java21 开始叫平台线程)试了下,吞吐完全不行,而且 CPU 、内存占用很高、起伏也很大。

上面只是随手简单一测,并不严格和规范。但是效果我觉得还是能说明问题,那就是很强、很惊艳。我认为现在已经算是可以追平之前 go 吹爆的 go 协程特性了。

所以就有了标题的感慨。

12467 次点击
所在节点    Java
98 条回复
wenbingkun
2023 年 6 月 16 日
继续 jdk8 ,祖宗之法不可变🐶
diagnostics
2023 年 6 月 16 日
既然是 Java 的爱好者,那么连看完 JEP-425 的时间都没吗?这玩意用 actor 也差不多吧?只不过相比 Actor 代码改动不大而已。
jjx
2023 年 6 月 16 日
喜欢 go 的, 主要就是不想搞 java 那套
所以,不会因为这个特性从 go 转到 java
LeegoYih
2023 年 6 月 16 日
喜报:Java 好起来了
悲报:八股文更多了
chuck1in
2023 年 6 月 16 日
@dreamramon springboot3 不是原生支持云原生吗。
wangxiaodong
2023 年 6 月 16 日
@diagnostics 可贵的一点是,虚拟线程对 Thread 池的 API 几乎完全兼容的,不大动就能兼容 Java 老项目,你 Actor 可是引入挺多依赖嘛。

@ql562482472 JDK Foreign Function 也在 JDK21 预览特性列表中的。
voidmnwzp
2023 年 6 月 16 日
1.国内 jdk 版本超过 8 的公司不足 5%
voidmnwzp
2023 年 6 月 16 日
TWorldIsNButThis
2023 年 6 月 16 日
@diagnostics 还在 actor
Scala 都不整这个玩 fiber 了
voidmnwzp
2023 年 6 月 16 日
@voidmnwzp #28 2.go func(){} 和 Thread.startVirtualThread(() -> {...}); 谁更简洁一目了然
wangxiaodong
2023 年 6 月 16 日
@voidmnwzp 提案上作者也说了,本来想用 go x()或 await/async 的方式,但为了让以前用 Thread API 的老程序受益,就直接改造 Thread 了,人家并不是不能更简化,人家是格局大!
whileFalse
2023 年 6 月 16 日
@SuperManNoPain 介个怎么发音
twofox
2023 年 6 月 16 日
我有个问题,既然虚拟线程不是真正的多线程。那我的数据库事务是不是都可以用同一个了
mmdsun
2023 年 6 月 16 日
手里项目已经是 spring boot 3.1 + JDK 20 了, 坐等 JDK 21 更新
yty2012g
2023 年 6 月 16 日
21 的虚拟线程解决 ThreadLocal 的问题了么?我记得好像是这个版本的还不支持 ThreadLocal 。
mgzu
2023 年 6 月 16 日
28Sv0ngQfIE7Yloe
2023 年 6 月 16 日
某国民级的游戏服务端刚刚从 7 升级到 8....
Bazingal
2023 年 6 月 16 日
@totoro52 请教下是什么机制 go 有其它语言做不到的
yty2012g
2023 年 6 月 16 日
@mgzu #36 感谢感谢。我们现在各种 wrap ExecutorSerivce 来传递各种各样的 ThreadLocal Context ,不知道换了还能不能生效了
monkeyWie
2023 年 6 月 16 日
@mgzu 这点就足够吊打 go 协程了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/949151

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX