Class ConstructorLookupFactory
java.lang.Object
org.miaixz.bus.core.lang.reflect.lookup.ConstructorLookupFactory
- All Implemented Interfaces:
LookupFactory
jdk8中如果直接调用
MethodHandles.lookup()获取到的MethodHandles.Lookup
在调用findSpecial和unreflectSpecial时会出现权限不够问题,抛出"no private access for invokespecial"异常
所以通过反射创建MethodHandles.Lookup解决该问题。
参考:https://blog.csdn.net/u013202238/article/details/108687086
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionjdk8中如果直接调用MethodHandles.lookup()获取到的MethodHandles.Lookup在调用findSpecial和unreflectSpecial 时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。
-
Constructor Details
-
ConstructorLookupFactory
public ConstructorLookupFactory()构造
-
-
Method Details
-
lookup
Description copied from interface:LookupFactoryjdk8中如果直接调用MethodHandles.lookup()获取到的MethodHandles.Lookup在调用findSpecial和unreflectSpecial 时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。- Specified by:
lookupin interfaceLookupFactory- Parameters:
callerClass- 被调用的类或接口- Returns:
MethodHandles.Lookup
-