首先来说说Classloader,类加载包括:引导类加载器,扩展类加载器,系统类加载器,自定义加载器他们分别加载的范围,已经分类,主要分为两类加载器,一种是不是java编写的,一种是java编写的
引导类加载器: 不是java编写的 c编写的加载器,所有我们在代码中是获取不到的,是最顶层的加载器:
这里就是获取到的就是null,范围:java javax,sun下的包都是用他进行加载
扩展类加载器: 负责 rt.jar下面类的加载器 ExtClassloader
系统类加载器:自己创建的类的加载器 appClassloader
现在我们来说说机制,理解机制就知道了类加载是怎么回事了。
双亲委派机制
双亲委派机制:通俗的说就是先委托父类进行加载,父类加载不到时,在向上委托,一直到引导类加载器都加载不到时,在由自己去进行加载。
这里,大家可以去试试,在当前项目中新建一个 java.lang包下面新建一个String类,然后你在引用的时候,会发现他不会使用 我们新建的String类?