Class AccessClassLoader


  • class AccessClassLoader
    extends java.lang.ClassLoader
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private AccessClassLoader​(java.lang.ClassLoader parent)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static int activeAccessClassLoaders()  
      (package private) static boolean areInSameRuntimeClassLoader​(java.lang.Class type1, java.lang.Class type2)  
      (package private) java.lang.Class<?> defineClass​(java.lang.String name, byte[] bytes)  
      (package private) static AccessClassLoader get​(java.lang.Class type)  
      private static java.lang.reflect.Method getDefineClassMethod()  
      private static java.lang.ClassLoader getParentClassLoader​(java.lang.Class type)  
      protected java.lang.Class<?> loadClass​(java.lang.String name, boolean resolve)  
      static void remove​(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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • AccessClassLoader

        private AccessClassLoader​(java.lang.ClassLoader parent)
    • Method Detail

      • 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:
        loadClass in class java.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