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