读书人

【转】懂得Java ClassLoader机制

发布时间: 2012-10-27 10:42:26 作者: rapoo

【转】理解Java ClassLoader机制
当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:
bootstrap classloader
|
extension classloader
|
system classloader

bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。在Sun的JVM中,在执行java的命令中使用-Xbootclasspath选项或使用 - D选项指定sun.boot.class.path系统属性值可以指定附加的类。这个加载器的是非常特殊的,它实际上不是 java.lang.ClassLoader的子类,而是由JVM自身实现的。大家可以通过执行以下代码来获得bootstrap classloader加载了那些核心类库:

static class Launcher$AppClassLoader extends URLClassLoader{public static ClassLoader getAppClassLoader(ClassLoader classloader)throws IOException{//获得系统属性“java.class.path”String s = System.getProperty("java.class.path");File afile[] = s != null ? Launcher.access$200(s) : new File[0];return (Launcher$AppClassLoader)AccessController.doPrivileged(new Launcher$2(s, afile, classloader));}}


转载地址:http://hi.baidu.com/hijiqimao/blog/item/574032ec141424d52e2e2122.html

读书人网 >编程

热点推荐