モジュール jdk.dynalink
パッケージ jdk.dynalink.support

クラスChainedCallSite

java.lang.Object
すべての実装されたインタフェース:
RelinkableCallSite

public class ChainedCallSite extends AbstractRelinkableCallSite
多相インライン・キャッシング戦略を実装する再リンク可能なコール・サイト。 リンクされた最大8個のGuardedInvocationを記憶し、各再リンク・リクエストで、次の呼出しにフォールバックする1つの呼出しのメソッド・ハンドルのカスケード・チェーンを構築します。 記憶されている呼出しの数は、サブクラスのgetMaxChainLength()をオーバーライドすることでカスタマイズできます。 このコール・サイトが新しい呼出しで再リンクされ、チェーンの長さがすでに最大である場合、最も古い呼出しは破棄されます。 無効化されたスイッチ・ポイントを持つ呼出しと、その無効化された例外がトリガーされた呼出しは、チェーンから即時削除されます。 呼出しの順序は変更されません。最後にリンクされたメソッド・ハンドルは常にチェーンの先頭にあり、最後にリンクされた最も新しいメソッド・ハンドルです。 コール・サイトは、複数のスレッドで同時に安全に再リンクできます。 リンクの競合状態は、チェーンに組み込むことなく、失われたスレッドで生成されたGuardedInvocationをスローすることで解決されるため、同じ引数のリンクが繰り返される可能性があります。
導入されたバージョン:
9