gpt4 book ai didi

32 位 jvm 上的 Java 程序比 64 位上的慢

转载 作者:行者123 更新时间:2023-11-30 07:46:49 26 4
gpt4 key购买 nike

我的 Java 程序目前遇到了一个奇怪的行为:
该程序是一个 JavaFX 桌面应用程序,它使用本地 Selenium 独立服务器打开 Web 应用程序,进行一些输入并下载 Excel 文件。它读取 Excel 文件并将其与另一个 Excel 工作表进行比较并标记差异。

它正在运行,我面临的问题是,生成的 JAR 运行速度比我从 Eclipse 启动项目时慢。唯一显着的性能差异是当我将 Excel 工作表与 Apache POI 进行比较时。

我将问题缩小到 JRE - 如果我启动 Jar,它使用 32 位 JRE 如果我从 Eclipse 启动它使用 64 位 JDK。
我用 JConsole 监控了这两个进程,32 位的 Jar 几乎用了 20 分钟,而 64 位的只用了大约 30 秒。

Apache Poi 在 32 位系统上有什么问题吗?或者您有什么想法和建议,我可以如何更好地监控并找到重要性能的瓶颈?

最佳答案

代替 JConsole 尝试 Java Mission ControlFlight Recorder收集性能指标。这应该可以帮助您了解瓶颈在哪里,例如CPU 与网络。最常见的性能问题是堆内存不足和垃圾收集器难以释放它(例如,频繁的 OldSpace 完整 GC 周期)。

检查许可证,看看您是否可以使用它,据我所知,它在开发、非生产环境中是免费的,但最近许可证发生了变化,该工具是开源的。

关于32 位 jvm 上的 Java 程序比 64 位上的慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50346317/

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