首页 > 解决方案 > java程序在不同平台上执行速度一样吗?

问题描述

让我们考虑一个场景,假设有两个操作系统,windows 和 Linux。我已经编写了一个程序并编译了它,并生成了一个类文件,我已经使用它在 Windows 和 Linux 中执行。

我的问题是:

我们都知道 JVM 本身需要在每个平台上单独实现,因此将每条指令从 JVM 传递到处理器的代码对于每个操作系统 JVM 的构建都是不同的,对吧?因此,如果我们考虑小程序,执行速度可能变化不大,但是:

提前致谢!

标签: java

解决方案


有时 Linux 比 Windows 快,有时则不然。

从内核的角度来看,Linux 内核比 Windows 更快,因为:

Linux内核是大内核,它包括你所知道的作为操作系统的一切,驱动程序、文件系统、内存管理、任务调度程序,一切都在同一个内核空间中,它们之间的通信简单且成本低。但是Windows NT内核是微内核,它只包含操作系统所需的基本功能,其他功能不在同一个内核空间,它们需要IPC(进程间通信)相互通信,这与Linux内核相比是相当昂贵的. 在某些 GUI 方面,例如游戏,Windows 比 Linux 快。

由于Linux的X窗口系统的设计目的是灵活,因此损失了一些性能。好消息是 Wayland 项目现在正在改善这种情况。


推荐阅读