Android_Question
Android_Question copied to clipboard
jvm的类加载机制?
类加载分类: BootstrapClassLoader(负责加载java_home中的jre/lib/rt.jar中的class,不是ClassLoader的子类) ExtensionClassLoader(负责加载java平台中扩展的一些jar中的class) AppClassLoader(负责加载classpath中指定的jar或class文件) CustomClassLoader(自定义的classloader)
JVM的类加载机制采用的是双亲委派模型。
类加载过程:
由底层类加载器开始查找是否已经加载,如果底层已经加载,则视为已经加载,上层就无需再加载,避免重复加载。如果没有加载,则向上层类加载器查找,以此类推,直到顶层类加载器。如果最后发现顶层类加载器也没有加载,则先交由顶层类加载器尝试加载,如果无法加载,则交由下层类加器加载,直至底层类加载器,如果还是无法加载,则JVM会抛出相应的类加载异常。