如何编写Java JIT优化友好代码?

Saj*_*jid 7 java real-time

当您想从代码中挤出最后一点性能时,您可能希望尽可能地利用JIT优化.例如,标记方法final为简单的方法内联,避免在关键位置的多态性等.

但我找不到任何java程序员可以用来"提示"JIT编译器以获得更快代码的参考或选项列表?难道我们不应该列出JIT的低延迟性能的"最佳编程"实践吗?

Tho*_*sen 10

编写JIT友好代码的最好方法是编写简单直接的代码,因为这是JIT寻找的并且知道如何优化.没有技巧!

此外,不同的JVM具有不同的JIT,因此为了确保您的代码能够很好地适用于所有JIT,您不能依赖它们中的任何一个.

提高JIT性能的常用方法是通过JVM的外部配置.由于大多数JVM现在知道如何直接内联代码小方法调用,大多数性能增益来自配置垃圾收集器.这里花了很多精力来避免在收集时不得不停止你的程序,你可以通过你对底层硬件配置方式以及哪些方法比其他硬件更好的方法进行调整.但不是Java代码,它需要简单直接.

  • 我建议尝试通过Cliff Click(Hotspot黑客,前Sun,曾在Azul Systems工作一段时间)找到"Java技术性能神话暴露"JavaOne演讲的幻灯片或PDF.他的[博客](http://www.azulsystems.com/blog/)也总是有趣的JVM内部讨论.而且,顺便说一句,"制作方法最终有助于内联""优化"只是一个神话. (2认同)

use*_*421 7

HotSpot的作者和其他人一再表示,最好的方法是编写简单直接的代码.