クラス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のサブクラス修飾子と型クラス説明classConstantCallSiteは、永続的で決して変更できないターゲットを持つCallSiteです。classMutableCallSiteは、ターゲット変数の動作が通常のフィールドと同じであるようなCallSiteです。classVolatileCallSiteは、ターゲットの動作がvolatile変数と同じであるようなCallSiteです。CallSiteを返すjava.lang.invokeのメソッド修飾子と型メソッド説明static CallSiteLambdaMetafactory.altMetafactory(MethodHandles.Lookup caller, String interfaceMethodName, MethodType factoryType, Object... args) 適切な型適応および引数の部分評価の後、指定されたMethodHandleへの委譲により、1つ以上のインタフェースを実装する単純な関数オブジェクトの作成を容易にします。static CallSiteStringConcatFactory.makeConcat(MethodHandles.Lookup lookup, String name, MethodType concatType) 最適化された文字列連結メソッドの作成を容易にします。このメソッドを使用すると、既知の型の引数(型の適応後や引数の部分評価後など)を効率的に連結できます。static CallSiteStringConcatFactory.makeConcatWithConstants(MethodHandles.Lookup lookup, String name, MethodType concatType, String recipe, Object... constants) 最適化された文字列連結メソッドの作成を容易にします。このメソッドを使用すると、既知の型の引数(型の適応後や引数の部分評価後など)を効率的に連結できます。static CallSiteLambdaMetafactory.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 CallSiteSwitchBootstraps.enumSwitch(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) 列挙型のターゲットにswitchを実装するinvokedynamicコール・サイトをリンクするためのブートストラップ・メソッド。static CallSiteTemplateRuntime.newLargeStringTemplate(MethodHandles.Lookup lookup, String name, MethodType type) 大きな文字列テンプレートを作成するための文字列テンプレート・ブートストラップ・メソッド(つまり、値スロット数がStringConcatFactory.MAX_INDY_CONCAT_ARG_SLOTSPREVIEWを超える場合)。static CallSiteTemplateRuntime.newStringTemplate(MethodHandles.Lookup lookup, String name, MethodType type, String... fragments) 文字列テンプレートを作成するための文字列テンプレート・ブートストラップ・メソッド。static CallSiteTemplateRuntime.processStringTemplate(MethodHandles.Lookup lookup, String name, MethodType type, MethodHandle processorGetter, String... fragments) 静的最終プロセッサの文字列テンプレート・ブートストラップ・メソッド。static CallSiteSwitchBootstraps.typeSwitch(MethodHandles.Lookup lookup, String invocationName, MethodType invocationType, Object... labels) 参照タイプのターゲットにswitchを実装するinvokedynamicコール・サイトをリンクするためのブートストラップ・メソッド。 -
jdk.dynalink.supportでのCallSiteの使用
jdk.dynalink.supportのCallSiteのサブクラス修飾子と型クラス説明classMutableCallSiteとしてのRelinkableCallSiteの基本的な実装。class多相インライン・キャッシング戦略を実装する再リンク可能なコール・サイト。class単相インライン・キャッシュ戦略を実装する再リンク可能なコール・サイトであり、常に単一のGuardedInvocationにのみリンクされます。