Java的史诗级重构:Valhalla项目最新进展

2024-12-17

历时十年的Java Valhalla项目正进入收尾阶段。该项目旨在修复Java类型系统中类和原始类型之间的裂痕。通过引入“像类一样编码,像int一样工作”的值类,Valhalla实现了扁平且紧凑的内存布局。Devoxx 2024上,Java语言架构师Brian Goetz介绍了该项目的最新进展,包括值类、空限制类型、增强的确定赋值分析和严格初始化等关键特性。

阅读更多
开发 值类

Mark–Scavenge:垃圾自行清理的等待 – Inside.java

2024-11-24

本文介绍了一种名为Mark-Scavenge的垃圾回收算法。该算法发现,在移动式垃圾回收器中,使用可达性作为活跃度的代理会导致不必要的数据移动。文章指出,传统的垃圾回收算法通常将可达性等同于活跃度,但这会导致已不再使用的对象被移动,造成浪费。Mark-Scavenge算法通过延迟对象迁移到下一个垃圾回收周期,增加了对象在此期间变为不可达的可能性,从而减少了不必要的移动。实验结果表明,Mark-Scavenge算法能够显著减少无效工作,并在高负载机器上带来明显的性能提升。

阅读更多
未分类 Mark-Scavenge ZGC