gpt4 book ai didi

部署前的 Java HotSpot 分析?

转载 作者:行者123 更新时间:2023-12-04 12:33:31 31 4
gpt4 key购买 nike

众所周知,HotSpot 分析运行时使用模式和性能特征,然后在 Java 应用程序运行时基于该分析优化 JIT 流程。因此,在尝试对 Java 应用程序进行基准测试时,通常建议谨慎行事,以便允许在进行实际性能测量之前进行此分析和优化阶段。

我确信之前已经考虑过这一点,但我经常想知道为什么这个分析阶段(例如典型的使用模式)不能以某种方式作为构建过程的一部分完成,然后分析数据与应用程序一起部署,以便完整- 启动应用程序时立即实现快速 JIT。

有谁知道这是否真的完成了,是否有原因说明这不可行,或者这是否计划作为对 HotSpot 和 Java 应用程序部署的增强?

最佳答案

应用程序没有“典型的使用模式”,尤其是在谈论 Java 应用程序时。它可以在 Windows、Linux、MacOS、Solaris 等环境下运行。运行时环境不仅完全改变了代码的行为,它甚至决定了哪些类将在运行时存在。

例如,具有图形用户界面的应用程序将在 Windows、Linux 或 MacOS 下加载不同的 AWT 实现类。但即使是显示器像素格式的简单属性(RGB 与 BGR,16 位与 24 位)也会导致应用程序采用不同的代码路径。并且发布了新的 JRE 版本,不断改进 JFC 类的代码,从而改变运行时行为,使任何预先计算的分析数据变得无用。

认为在开发人员的计算机上进行测试和基准测试足以说明真实生产环境的任何情况是一个典型的错误。当运行数十亿个并发事务时,或者另一方面,在只有一半 RAM 的客户 PC 上运行时,看起来足够的东西可能会完全无法使用。

Java 的优势之一是能够分析和优化软件的真实行为和使用模式,并使用在运行时找到的确切版本跨不同供应商的库边界进行优化。

关于部署前的 Java HotSpot 分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19776616/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com