JDK 25中String类的性能提升:哈希码常量折叠
2025-05-02
JDK 25对String类的hashCode函数进行了优化,实现了哈希码的常量折叠。这意味着对于静态不可变的Map,使用String作为键时,性能将显著提升,尤其是在使用String作为键访问不可变Map中的MethodHandle时,性能提升可达8倍以上。该优化通过在内部字段String.hash上添加@Stable注解实现,允许虚拟机在哈希码非零的情况下直接使用缓存的哈希码,从而避免重复计算。虽然零哈希码的情况会影响优化效果,但未来版本有望解决此问题。
开发
JDK 25