阿里巴巴版 JDK 首发 GA 版 生产环境可用
“退优化”已编译的方法,重新开始编译,反而恶化了状况。由此可见,如何准备预热数据其实是一个挺复杂的问题,在实际运维中还没有很好的解决方法。 Dragonwell 提出的 JWarmUp 技术从 JVM 层面解决这一痛点,基本原理是利用之前运行的情况找到热点方法和 java class 信息。之后,JVM 运行实例利用上次的信息来预热,不需要通过人为数据预热。收集热点的实例可以有多种选择,例如在应用集群中选择一个节点,也可以在发布过程中选择一个 beta 发布阶段来收集。相比之前“人为数据”的方式,主要有如下优势: 收集热点时可以利用真实数据,达到更好的编译效果。加速预热过程。由于热点方法可以在加载后直接编译,节省解释执行,profiling 等过程。 该功能在 specjvm 的基准测试中对于...阅读全文