タイトルは私の質問をかなりよく捉えています。JVM(HotSpotだけでなく、明らかに開始する場所)が特定の機能を実装または処理する方法についての質問に対して、優れたリソースまたは跳躍点があるかどうか疑問に思っていますか?私はJLSまたはJVM仕様にあるものを探していません-私は最初にそこに行くことを知っています。
例:パフォーマンスの問題を理解しようとすると、仕様の内容ではなく、実際の実装での現代のベストプラクティスがどのように見えるかについて話し合うことがよくあります。たとえば、「JVMはそのようなものをインライン化または最適化できるため、最終クラスはJavaでより優れたパフォーマンスを発揮する」という都市の神話がいくつかあります。浮かんでいるこれらの主張を評価するために私たちが頼ることができる一般的なリソースはありますか?
HotSpot固有のリファレンスを使用して、私自身の質問に対する回答を提供します。他のベンダーの製品はどうですか?小さなJVMの詳細?マルチコアの詳細?プラットフォームの詳細、違いがあれば?他のJVM言語の詳細?
いくつかの潜在的な苦情を回避するために:1)これは時期尚早の最適化を探すことではありません(そして実際、プラットフォームをよりよく理解することはより良い教育を受けた開発者を思いとどまらせるはずです!); 2)Javaプログラマーは、どこでも実行できる優れたコードに集中することになっていることを私は知っていますが、私たちの多くにとって、プラットフォームの詳細は重要になります。
これは、 ThorbjørnRavnAndersenによる特定の質問に対するいくつかの有益なコメントに触発されました。人々がこれらの種類のリソースを必要とする理由を動機付けるために、上記で引用したもの以外のいくつかのより役立つ例を収集できてうれしいです。
SOに関するいくつかの興味深い関連質問: JVMでの末尾呼び出しの最適化、Killer JVMの機能、明日役に立たなくなる最適化、 JVM実装間の違い。
編集して追加: 言及された最高の個人参照、またはJVM実装の知恵と実際の結果を最も集中/カタログ化するWebサイト(おそらくこの質問に答えて構築された)へのポインターを提供する誰かに答えを与えますクライアントの言語と開発者。