gpt4 book ai didi

Java 应用程序 Windows 与 Mac OS X

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:02 25 4
gpt4 key购买 nike

我在小型 Windows 桌面上开发了一个 Java 应用程序来解析 XML 文件。我遇到了一个非常有趣的观察结果,我对此非常好奇。

我为我的应用程序生成了一个可执行 jar,并在功能非常强大的 Windows Server 机器上运行它。它有 2 个物理 Xeon 处理器,每个处理器有 8 个主频为 2.7 GHz 的内核、50GB RAM 和 7200 RPM HDD。当我启动我的应用程序时机器处于空闲状态,我很确定没有其他应用程序与我共享这台机器。

后来,我在我的 Macbook Pro 上运行可执行文件以查看其行为的乐趣。我的个人计算机是主频为 2.2 GHz 的 Core i7,配备 4 GB RAM 和 5400 RPM HDD。

令人惊讶的是,应用程序在我个人较弱的机器上快了两倍。这是相同的输入\相同的输出。没有 IO,但为了读取 XML 来解析它们,我在终端上只打印任何内容,但开始时间\结束时间和最终结果是一行

我非常想了解如此巨大的性能差异背后的原因。特别是来自硬件级别较弱的机器。是操作系统以更好的方式处理硬件吗? JVM 工作得更好吗?

最佳答案

在 Windows 上,JRE 的默认安装带有 HotSpot 客户端编译器。该编译器只进行基本优化,与服务器 HotSpot 相反,它进行更积极的优化并生成更快的代码。 Server HotSpot 是大多数类 Unix 和 Linux 发行版的默认设置,包括 Mac OS X。这两个编译器之间的性能差异通常是 2-3 倍。客户端 HotSpot 主要针对桌面应用程序的更快启动进行了优化,而不是针对长时间运行的进程的最佳性能。

要检查您使用的是哪个编译器,请发出以下命令:

java -version

在我的机器上它给出:

java version "1.6.0_45"
Java (TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
^^^^^^ this

要在 Windows 上获取 Server HotSpot,您需要下载并安装 JDK,然后使用 -server 命令行开关运行您的程序。

关于Java 应用程序 Windows 与 Mac OS X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011870/

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