JVM 双亲委托机制

存在4种加载器

1.Bootstrap ClassLoader:启动类加载器,也叫根类加载器,负责加载java的核心类库,例如(%JAVA_HOME%/lib)目录下的rt.jar(包含System,String这样的核心类),根类加载器非常特殊,它不是java.lang.ClassLoader的子类,它是JVM自身内部由C/C++实现的,并不是java实现的

2.Extension ClassLoader:扩展类加载器,负责加载扩展目录(%JAVA_HOME%/jre/lib/ext)下的jar包,用户可以把自己开发的类打包成jar包放在这个目录下即可扩展核心类以外的功能

3.System ClassLoader\APP ClassLoader,系统类加载器,又称为应用程序类加载器,是加载CLASSPATH环境变量下所指定的jar包与类路径,一般来说,用户自定义的就是由APP ClassLoader加载的

4.自定义类加载器。

从下往上从1开始记载java类,1能加载就不用从2,如果不能加载在找到2.依次类推。

可以使 核心库类型安全。

你可能感兴趣的:(java)