Java知识之JVM
类加载器 类装载器ClassLaoder负责加载class文件,class文件开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则有Execution Engine决定虚拟机自带的类加载器 引导类加载器 这个类加载使用C/C++与亚伯实现的,嵌套在JVM内部,它用来加载Java的核心库(JAVA_HOME/jre/lib/rt.jar、resources.jar或sun.boot.class.path路径下的内容),用于提供JVM自身需要的类 并不继承自java.lang.ClassLoader,没有父加载器 加载扩展类和应用程序类加载器,并指定未他们的父类加载器,处于安全考虑,Bootstrap启动类加载器只加载包名未java、javax、sun等开头的类 扩展类加载器 Java语言编写 派生于ClassLoader类 父类加载器为启动类加载器 从java.ext.dirs系统属性所指定的目录中加载类库,或从JDK的安装目录的jre/lib/ext,子目录下加载类库。如果用户创建的JAR放在此目录下,也会自动由扩展类加载器加载 应用类加载器 java语言编写 派生于ClassLoader类 父类加载器为扩展类加载器