ClassLoader
专门用于加载类的命令/工具
java中有三种类加载器
- 启动类加载器
- 扩展类加载器
- 应用类加载器
对三种类加载器的解释:
启动类加载器加载jdk目录下的jre/lib/rt.jar包,rt.jar包里面都是java的核心类
扩展类加载器加载jdk目录下的jre/lib/ext/*.jar
应用类加载器加载classpath中的类
执行程序时的类加载过程
在程序执行时,类加载器会将程序所需要的类加载到JVM中,首先启动类加载器会先加载,如果在rt.jar中没有找到需要的类,拓展类加载器就会进行加载,如果还没有找到就去应用类加载器中找,直到找到为止。
为什么要按照这种顺序加载呢?
这是java为了类加载的安全考虑,实行的双亲委派机制
,启动类加载器和扩展类加载器为双亲,这两个加载器加载的内容都是java官方写好的内容,比较安全。