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

クラスAbstractRelinkableCallSite

java.lang.Object
java.lang.invoke.CallSite
java.lang.invoke.MutableCallSite
jdk.dynalink.support.AbstractRelinkableCallSite
すべての実装されたインタフェース:
RelinkableCallSite
直系の既知のサブクラス:
ChainedCallSite, SimpleRelinkableCallSite

public abstract class AbstractRelinkableCallSite extends MutableCallSite implements RelinkableCallSite
MutableCallSiteとしてのRelinkableCallSiteの基本的な実装。 コンストラクタで渡されたCallSiteDescriptorを持ち、initialize(MethodHandle)メソッドの正しい実装を提供します。 サブクラスは、RelinkableCallSite.relink(GuardedInvocation, MethodHandle)およびRelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle)メソッドを提供する必要があります。
  • コンストラクタの詳細

  • メソッドの詳細

    • getDescriptor

      public CallSiteDescriptor getDescriptor()
      インタフェースからコピーされた説明:RelinkableCallSite
      この呼び出しサイトの記述子を返します。
      定義:
      インタフェースRelinkableCallSite内のgetDescriptor
      戻り値:
      この呼び出しサイトの記述子。
    • initialize

      public void initialize(MethodHandle relinkAndInvoke)
      インタフェースからコピーされた説明:RelinkableCallSite
      再リンク呼び出しメソッドのハンドルを設定して、再リンク可能な呼び出しサイトを初期化するために動的リンカーによって呼び出されます。 コール・サイトの実装では、このメソッド・ハンドルをCallSite.setTarget(MethodHandle)を使用してターゲットとして設定することになっています。 Relink-and-invokeは、DynamicLinker.link(RelinkableCallSite)によって設定された初期メソッド・ハンドルであり、コール・サイトがその引数に基づいて最初の起動時に適切なターゲットに再リンクされ、リンクされたターゲットが(したがって、名前)によって呼び出されます。 このリンク・プロトコルは、呼び出しサイトが実際の引数で呼び出されるまでリンクを効果的に遅延させるので、呼び出し側の静的メソッドの型だけでなく、それらの引数に基づいてリンカーが微妙なリンクを決定できるようになります。
      定義:
      インタフェースRelinkableCallSite内のinitialize
      パラメータ:
      relinkAndInvoke - Dynalinkが提供する再リンクおよび呼び出しメソッド・ハンドル。