findStaticVarHandle

This commit is contained in:
redkale
2024-10-06 21:34:27 +08:00
parent 545a0c5473
commit f3a0e7a1a8

View File

@@ -118,6 +118,7 @@ public final class Utility {
// private static final javax.net.ssl.SSLContext DEFAULTSSL_CONTEXT; // private static final javax.net.ssl.SSLContext DEFAULTSSL_CONTEXT;
// private static final javax.net.ssl.HostnameVerifier defaultVerifier = (s, ss) -> true; // private static final javax.net.ssl.HostnameVerifier defaultVerifier = (s, ss) -> true;
//
static { static {
System.setProperty("jdk.httpclient.allowRestrictedHeaders", "host"); System.setProperty("jdk.httpclient.allowRestrictedHeaders", "host");
@@ -139,8 +140,6 @@ public final class Utility {
Function<Supplier, ThreadLocal> virtualThreadLocalFunction0 = null; Function<Supplier, ThreadLocal> virtualThreadLocalFunction0 = null;
Function<String, ThreadFactory> virtualThreadFactoryFunction0 = null; Function<String, ThreadFactory> virtualThreadFactoryFunction0 = null;
//if (!NATIVE_IMAGE_ENV) { // not native-image
try {
final ClassLoader loader = Thread.currentThread().getContextClassLoader(); final ClassLoader loader = Thread.currentThread().getContextClassLoader();
{ // Jdk21Inners { // Jdk21Inners
try { try {
@@ -165,9 +164,10 @@ public final class Utility {
// do nothing // do nothing
} }
} }
try {
{ // String-LATIN1 { // String-LATIN1
MethodHandles.Lookup lookup = defaultLookup; MethodHandles.Lookup lookup = defaultLookup;
VarHandle compactHandle = lookup.findVarHandle(String.class, "COMPACT_STRINGS", boolean.class); VarHandle compactHandle = lookup.findStaticVarHandle(String.class, "COMPACT_STRINGS", boolean.class);
final boolean compact = (Boolean) compactHandle.get(null); final boolean compact = (Boolean) compactHandle.get(null);
VarHandle coderHandle = lookup.findVarHandle(String.class, "coder", byte.class); VarHandle coderHandle = lookup.findVarHandle(String.class, "coder", byte.class);
VarHandle valueHandle = lookup.findVarHandle(String.class, "value", byte[].class); VarHandle valueHandle = lookup.findVarHandle(String.class, "value", byte[].class);
@@ -192,15 +192,13 @@ public final class Utility {
}.loadClass("org.redkale.util.SignalShutDown", classBytes); }.loadClass("org.redkale.util.SignalShutDown", classBytes);
RedkaleClassLoader.putDynClass(shutdownClazz1.getName(), classBytes, shutdownClazz1); RedkaleClassLoader.putDynClass(shutdownClazz1.getName(), classBytes, shutdownClazz1);
RedkaleClassLoader.putReflectionDeclaredConstructors(shutdownClazz1, shutdownClazz1.getName()); RedkaleClassLoader.putReflectionDeclaredConstructors(shutdownClazz1, shutdownClazz1.getName());
signalShutdownConsumer0 = signalShutdownConsumer0 = shutdownClazz1.getConstructor().newInstance();
shutdownClazz1.getConstructor().newInstance();
} }
} }
} catch (Throwable e) { // 不会发生 } catch (Throwable e) { // 不会发生
// do nothing // do nothing
e.printStackTrace(); e.printStackTrace();
} }
//}
strByteFunction = strByteFunction0; strByteFunction = strByteFunction0;
strLatin1Function = strLatin1Function0; strLatin1Function = strLatin1Function0;
signalShutdownConsumer = signalShutdownConsumer0; signalShutdownConsumer = signalShutdownConsumer0;