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)
メソッドを提供する必要があります。 -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protected
AbstractRelinkableCallSite
(CallSiteDescriptor descriptor) 新しい抽象再リンク可能コール・サイトを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明このコール・サイトの記述子を返します。void
initialize
(MethodHandle relinkAndInvoke) 再リンクおよび呼出しメソッド・ハンドルを設定して、再リンク可能コール・サイトを初期化するために動的リンカーによって呼び出されます。クラスjava.lang.invoke.MutableCallSiteで宣言されたメソッド
dynamicInvoker, getTarget, setTarget, syncAll
クラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インタフェースjdk.dynalink.RelinkableCallSiteで宣言されたメソッド
relink, resetAndRelink
-
コンストラクタの詳細
-
AbstractRelinkableCallSite
protected AbstractRelinkableCallSite(CallSiteDescriptor descriptor) 新しい抽象再リンク可能コール・サイトを作成します。- パラメータ:
descriptor
-getDescriptor()
から返されるこの呼び出しサイトの記述子。 コール・サイトのCallSite.type()
は、記述子のCallSiteDescriptor.getMethodType()
と等しくなります。- 例外:
NullPointerException
-descriptor
がNULLの場合。
-
-
メソッドの詳細
-
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が提供する再リンクおよび呼出しメソッド・ハンドル。
-