クラスjava.lang.invoke.CallSite
の使用
CallSiteを使用するパッケージ
パッケージ
説明
クラスやメソッド・ハンドルなどのランタイム・エンティティ用に「名目記述子」を表すクラスおよびインタフェース、および定数プール・エントリや
invokedynamic
コール・サイトなどのクラス・ファイル・エンティティ用に「名目記述子」を表すクラスおよびインタフェース。java.lang.invoke
パッケージは、Java Virtual Machineとやりとりするための低レベルのプリミティブを提供します。java.lang.runtime
パッケージでは、Java言語の低レベルのランタイム・サポートが提供されます。Dynalinkをより便利にするクラスが含まれています。クラスの基本的な実装だけでなく、さまざまなユーティリティを提供します。
-
java.lang.constantでのCallSiteの使用
CallSiteを返すjava.lang.constantのメソッド修飾子と型メソッド説明DynamicCallSiteDesc.resolveCallSiteDesc
(MethodHandles.Lookup lookup) 指定された引数を使用してブートストラップ・メソッドを最終的に起動し、結果のCallSite
を返します。 -
java.lang.invokeでのCallSiteの使用
java.lang.invokeのCallSiteのサブクラス修飾子と型クラス説明class
ConstantCallSite
は、永続的で決して変更できないターゲットを持つCallSite
です。class
MutableCallSite
は、ターゲット変数の動作が通常のフィールドと同じであるようなCallSite
です。class
VolatileCallSite
は、ターゲットの動作がvolatile変数と同じであるようなCallSite
です。CallSiteを返すjava.lang.invokeのメソッド修飾子と型メソッド説明static CallSite
LambdaMetafactory.altMetafactory
(MethodHandles.Lookup caller, String interfaceMethodName, MethodType factoryType, Object... args) 適切な型適応および引数の部分評価の後、指定されたMethodHandle
への委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。static CallSite
StringConcatFactory.makeConcat
(MethodHandles.Lookup lookup, String name, MethodType concatType) おそらく型適応と引数の部分的な評価の後に既知の型の既知の引数を効率的に連結するために使用できる最適化された文字列連結メソッドの作成を容易にします。static CallSite
StringConcatFactory.makeConcatWithConstants
(MethodHandles.Lookup lookup, String name, MethodType concatType, String recipe, Object... constants) おそらく型適応と引数の部分的な評価の後に既知の型の既知の引数を効率的に連結するために使用できる最適化された文字列連結メソッドの作成を容易にします。static CallSite
LambdaMetafactory.metafactory
(MethodHandles.Lookup caller, String interfaceMethodName, MethodType factoryType, MethodType interfaceMethodType, MethodHandle implementation, MethodType dynamicMethodType) 適切な型適応および引数の部分評価の後、指定されたMethodHandle
への委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。 -
java.lang.runtimeでのCallSiteの使用
CallSiteを返すjava.lang.runtimeのメソッド修飾子と型メソッド説明static CallSite
SwitchBootstraps.enumSwitch
(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) 列挙型のターゲットにswitch
を実装するinvokedynamic
コール・サイトをリンクするためのブートストラップ・メソッド。static CallSite
SwitchBootstraps.typeSwitch
(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) 参照タイプのターゲットにswitch
を実装するinvokedynamic
コール・サイトをリンクするためのブートストラップ・メソッド。 -
jdk.dynalink.supportでのCallSiteの使用
jdk.dynalink.supportのCallSiteのサブクラス修飾子と型クラス説明class
MutableCallSite
としてのRelinkableCallSite
の基本的な実装。class
ポリモーフィックなインライン・キャッシング戦略を実装する再リンク可能なコール・サイト。class
ある時点で単一のGuardedInvocation
にのみリンクされる、単相インライン・キャッシュ戦略を実装する再リンク可能なコール・サイト。