当我阅读《Scala in depth》这本书时,它提到了HotSpot编译器有几个重要的特性之一是“动态去优化”:
它的能力在于确定一个优化实际上并没有改进性能,并撤销该优化,从而允许应用其他优化。
看起来HotSpot会尝试各种“优化”,并选择最好的一个。但我并不太理解。这里的“优化”是否都由HotSpot提供?我的意思是程序员经常使用一些技巧来优化代码,HotSpot会处理它们吗?
还有,HotSpot会尝试哪些常见的“优化”呢?
它的能力在于确定一个优化实际上并没有改进性能,并撤销该优化,从而允许应用其他优化。
看起来HotSpot会尝试各种“优化”,并选择最好的一个。但我并不太理解。这里的“优化”是否都由HotSpot提供?我的意思是程序员经常使用一些技巧来优化代码,HotSpot会处理它们吗?
还有,HotSpot会尝试哪些常见的“优化”呢?