Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Java では、final キーワードが構築と初期化を分離しているように見えます。これは、配列と同様の方法でオブジェクトのメモリ使用をブロックする意図を示唆しています。
非再帰的なオブジェクト階層があり、すべてのフィールドが final である場合、そのメモリは 1 回だけ割り当てる必要があり、キャッシュに連続して割り当てることもできます。JVMは実際にこれを行いますか? いいえの場合、なぜですか?
簡単な答えは次のとおりです。
クラスまたはメソッドが final であるかどうかに基づいて、Hotspot にクラス/メソッドの最適化はありません。
詳細については、この記事を参照してください。