Java理论与实践:再谈Urban性能传言
本文介绍了现代JVM中的分配比执行得最好的malloc实现还要快得多。HotSpot 1.4.2之后虚拟机中的new Object()常见代码路径最多10条机器指令,而用C语言实现的执行得最好的malloc实现,每个调用平均要求的指令在60到100条之间。而且分配性能在整体性能中不是一个微不足道的部分。JVM擅长发现我们一直以为只有开发人员才能知道的事情,这令人震惊。让JVM根据具体情况在堆栈分配和堆分配之间进行选择,我们就能得到堆栈分配的性能好处,却不必让程序员在进行堆栈分配还是进行堆分配上费脑筋。
暂无评论