CodeCoachは、クラス修飾子を安全に変更できる場合にアドバイスします。
CodeCoachによって提供されるクラス・アドバイスには、次の2つのタイプがあります。
finalクラスでは、すべてのメソッドをfinalとみなすことができます。finalメソッドはインライン化が可能ですが、より重要な点は、finalメソッドはメソッド表を使用することなく直接コールが可能であることです。
また、クラスをfinalとして宣言すると、JVMでinstanceof/checkcast操作を実行できますが、一般的にこの操作は非常にコストがかかります。
finalとして宣言できるクラスがCodeCoachによって検出された場合、このクラスのメソッドに対してfinalメソッドのアドバイス(MFIN
)は提供されません。
将来クラスを拡張する予定がある場合は、これを実行しないでください。
finalとできる可能性のあるクラス・アドバイスのキーワードは、CFIN
です。
内部クラスが1つでも外部クラスのstaticでないフィールド、メソッドまたはオブジェクトにアクセスする場合は、内部クラスはstaticにはなりません。
staticとできる可能性のあるクラス・アドバイスのキーワードは、CSTA
です。
クラスがCodeCoachで実行されているが、デバッグ情報がクラスに含まれていない場合、CodeCoachによって次の警告が表示されます。
Class classname must be compiled with debug info to
enable CodeCoach
このメッセージを削除するには、CodeCoachから該当するクラスを除外するか、デバッグ情報を有効にしてコンパイルする必要があります。デバッグ情報を有効にするには、「プロジェクト・プロパティ」ダイアログで該当するオプションを選択するか(「コンパイラ」ノードから「デバッグ情報を含める」を選択)、コマンドラインのojcの-g
スイッチを使用します。すべてのサード・パーティ製のクラスを除外する必要があります。
Copyright © 1997, 2006, Oracle. All rights reserved.