为什么与 Python 等其他解释型语言相比,Java 的性能要好得多?我知道这可能与它预先编译的事实有关,但是并发呢?
JVM 是如何在并发程序上表现得更好,而解释语言必须处理诸如全局解释器锁定之类的事情,这真的会减慢速度?
为什么与 Python 等其他解释型语言相比,Java 的性能要好得多?我知道这可能与它预先编译的事实有关,但是并发呢?
JVM 是如何在并发程序上表现得更好,而解释语言必须处理诸如全局解释器锁定之类的事情,这真的会减慢速度?
这是一个非常有趣的问题,但我不确定是否有简单的方法来回答它。如今,JVM 使用一系列高度激进的优化来尝试提高性能。这里有几个:
还有很多很多我可能不知道的优化,但我希望这可以帮助您找到答案!
Java 代码在编译期间几乎没有优化。
运行时 JIT 执行大部分编译。
Java的不同之处在于它的功能相对较差,副作用最小。这使得代码更容易优化。
而解释语言必须处理诸如全局解释器锁定等问题,这真的会减慢速度吗?
这是一个实施问题。Java 从一开始就被设计为支持多线程。我怀疑 python 是为编写脚本和快速开发周期而设计的,因此它做得更好。