Package com.esotericsoftware.reflectasm
Class AccessClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- com.esotericsoftware.reflectasm.AccessClassLoader
-
class AccessClassLoader extends java.lang.ClassLoader
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.WeakHashMap<java.lang.ClassLoader,java.lang.ref.WeakReference<AccessClassLoader>>accessClassLoadersprivate static java.lang.reflect.MethoddefineClassMethodprivate static AccessClassLoaderselfContextAccessClassLoaderprivate static java.lang.ClassLoaderselfContextParentClassLoader
-
Constructor Summary
Constructors Modifier Constructor Description privateAccessClassLoader(java.lang.ClassLoader parent)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static intactiveAccessClassLoaders()(package private) static booleanareInSameRuntimeClassLoader(java.lang.Class type1, java.lang.Class type2)(package private) java.lang.Class<?>defineClass(java.lang.String name, byte[] bytes)(package private) static AccessClassLoaderget(java.lang.Class type)private static java.lang.reflect.MethodgetDefineClassMethod()private static java.lang.ClassLoadergetParentClassLoader(java.lang.Class type)protected java.lang.Class<?>loadClass(java.lang.String name, boolean resolve)static voidremove(java.lang.ClassLoader parent)-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
accessClassLoaders
private static final java.util.WeakHashMap<java.lang.ClassLoader,java.lang.ref.WeakReference<AccessClassLoader>> accessClassLoaders
-
selfContextParentClassLoader
private static final java.lang.ClassLoader selfContextParentClassLoader
-
selfContextAccessClassLoader
private static volatile AccessClassLoader selfContextAccessClassLoader
-
defineClassMethod
private static volatile java.lang.reflect.Method defineClassMethod
-
-
Method Detail
-
get
static AccessClassLoader get(java.lang.Class type)
-
remove
public static void remove(java.lang.ClassLoader parent)
-
activeAccessClassLoaders
public static int activeAccessClassLoaders()
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException- Overrides:
loadClassin classjava.lang.ClassLoader- Throws:
java.lang.ClassNotFoundException
-
defineClass
java.lang.Class<?> defineClass(java.lang.String name, byte[] bytes) throws java.lang.ClassFormatError- Throws:
java.lang.ClassFormatError
-
areInSameRuntimeClassLoader
static boolean areInSameRuntimeClassLoader(java.lang.Class type1, java.lang.Class type2)
-
getParentClassLoader
private static java.lang.ClassLoader getParentClassLoader(java.lang.Class type)
-
getDefineClassMethod
private static java.lang.reflect.Method getDefineClassMethod() throws java.lang.Exception- Throws:
java.lang.Exception
-
-