3

カスタム アノテーションを設定するとします。

public @interface ThreadSafe {
}

クラスまたはメソッドが実際にスレッドセーフであることをコードの読者に示すため

コメントの変形以外に、これらのタイプのカスタム注釈を他にどのように使用できますか?

4

2 に答える 2

1

そのような注釈の潜在的なアプリケーションについて尋ねているだけの場合は、ここに私の頭から離れたいくつかがあります...

  • リフレクティブ コードは、アノテーション付きメソッドのスレッド セーフを利用する場合があります。たとえば、GuavaEventBus@AllowConcurrentEventsアノテーションをフレームワークのヒントとして使用しEventBusます。
  • 静的分析ツールは、メソッドが特定のプロパティを持つ必要があるか、このメソッドのユーザーが特定のプロパティを想定できるかのヒントとして、注釈を使用できます。たとえば、静的分析ツールは、アノテーション@ThreadSafeが付けられたメソッドに対して追加のチェックを実行して、それらが実際にスレッドセーフであることを確認する場合があります。
  • 特定のメソッドがスレッドセーフであるためにのみ利用可能な最適化の機会を特定できるプリプロセッサを設計できます。
于 2012-07-05T19:45:22.127 に答える
0

このような注釈は、アルゴリズムの効率を改善するために使用できる情報をもたらすことができます。この目的のためにRandomAccessインターフェイスが使用されます。

于 2012-07-05T19:45:53.037 に答える