JVM判断并装载类的过程
类从.java文件到实际加载到内存的过程:
.java文件 -> 通过你的JDK环境相关指令编译 -> .class文件 -> JVM初始化之后,如果有类的执行、调用等相关操作,JVM就会将.class文件加载到内存中,并开始下面的一系列处理:(链接->初始化)
一.关于ClassLoder
ClassLoader是Java用于加载类的一个机制。等到程序运行时,JVM先初始化,在JVM初始化的过程中,JVM生成几个ClassLoader,JVM调用指定的ClassLoader去加载.class文件等各类路径、文件的类。
1.程序运行时类的加载实际过程
JDK执行指令去寻找jre目录,寻找jvm.dll,并初始化JVM;
产生一个Bootstrap Loader(启动类加载器);
BootstrapLoader自动加载ExtendedLoader(标准扩展类加载器),并将其父Loader设为Bootstrap Loader。
BootstrapLoader自动加载AppClassLoader(系统类加载器),并将其父Loader设为Extended Loader。
最后由AppClassLoader加载HelloWorld类。
2.各种ClassLoader及其特点
BootstrapLoader(启动类加载器):加载System.getProperty(“sun.boot.class.path”)所指定的路径或jar
ExtendedLoader(标准扩展类加载器ExtClassLoader&