This commit is contained in:
thinkgem
2023-05-19 13:37:49 +08:00
parent f5e4596749
commit 9a6d673187

View File

@@ -14,10 +14,7 @@
package com.jeesite.common.reflect.asm; package com.jeesite.common.reflect.asm;
import sun.misc.Unsafe;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.security.ProtectionDomain; import java.security.ProtectionDomain;
import java.util.HashSet; import java.util.HashSet;
@@ -39,18 +36,18 @@ class AccessClassLoader extends ClassLoader {
private final HashSet<String> localClassNames = new HashSet(); private final HashSet<String> localClassNames = new HashSet();
static { // static {
try { // try {
Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe"); // java.lang.reflect.Field theUnsafe = sun.misc.Unsafe.class.getDeclaredField("theUnsafe");
theUnsafe.setAccessible(true); // theUnsafe.setAccessible(true);
Unsafe u = (Unsafe) theUnsafe.get(null); // sun.misc.Unsafe u = (sun.misc.Unsafe) theUnsafe.get(null);
Class cls = Class.forName("jdk.internal.module.IllegalAccessLogger"); // Class cls = Class.forName("jdk.internal.module.IllegalAccessLogger");
Field logger = cls.getDeclaredField("logger"); // java.lang.reflect.Field logger = cls.getDeclaredField("logger");
u.putObjectVolatile(cls, u.staticFieldOffset(logger), null); // u.putObjectVolatile(cls, u.staticFieldOffset(logger), null);
} catch (Exception e) { // } catch (Exception e) {
// ignore // // ignore
} // }
} // }
private AccessClassLoader (ClassLoader parent) { private AccessClassLoader (ClassLoader parent) {
super(parent); super(parent);