2011-09-05 11 views
8

コードをもっと明示的にすると、Eclipseがそれをより速く分析するのに役立つのだろうかと思っていました。たとえば、クラスをfinalと宣言すると、コードアナライザは理論的には型階層を計算するときにその子孫の検索をスキップできます。最終的にスピードアップするものを宣言しますか?Eclipseコードの解析とコンパイルは?

だから、本当にスピードアップしますか?

+6

'final'については気づいていませんが、可視性宣言がプライベートまたはパッケージプライベートの場合には、より速い名前の変更が行われます。 –

+0

絶対に必要でない限り、クラス全体を最終として宣言しません。それは潜在的な将来の継承をねじ込む。 –

答えて

5

最終的なキーワードを使用すると、スマートな分析ツールを利用できる可能性がありますが、スーパークラスはサブクラスを気にする必要がないため、クラス階層でボトムアップ分析が行われると思います。

ただし、最終的なDOESを使用すると、コンパイラの最適化が有効になるため、実行時のパフォーマンスがいくらか向上します。しかし、これはマイクロ最適化です。適切な場合はファイナルを使用することをお勧めしますが、プログラムのアーキテクチャを最適化する場合に比べてパフォーマンスの向上はそれほど大きくありません。

関連する問題