首页 > 解决方案 > JAVA 9 及更高版本中的逃逸分析和堆栈分配优化改进

问题描述

HotSpot Java 9-13 的堆栈分配优化规则是否不那么严格?

在 Java 7 和 Java 8 HotSpot 对象堆栈分配(由于称为标量对象替换的 JVM 优化)是可能的,但要在线程堆栈上实现无垃圾分配,必须满足许多严格的约束。

为 Java 8(HotSpot、OpenJDK 8)启用堆栈分配优化的规则总结在对这个问题的精彩回答中: Hotspot 什么时候可以在堆栈上分配对象? 至于这里的 Java 7: Eligibility for escape analysis / stack allocation with Java 7

在这个问题中,我想了解更新 JDK 版本中 EA 和堆栈分配优化的当前状态是什么?其他 Java VM(例如 OpenJ9)是否有不同的规则?

标签: javajvmcompiler-optimizationescape-analysisstack-allocation

解决方案


推荐阅读