1.JVM的类加载器类型
- BootstrapClassLoader 启动类加载器
用于加载核心类库,比如lib包下rt.jar文件
- ExtentionClassLoader 扩展类加载器
用于加载第三方的jar比如我们添加到lib包下的jar
- AppClassLoader 应用类加载器
用于加载我们的应用打成的jar,比如我们编写的springboot项目
2.什么是双亲委派模型
- 双亲委派模型是指类加载器在接收到加载请求时会先将类交给父级类加载器进行处理,如果父级别加载不到则交由子类加载器处理。
- jvm确认一个类是同一个类的标准是该类全限定名及其类加载器是同一个,试想一下,如果Java类库里有一个java.lang.Object类,我们自己也实现了一个相同包名的java.lang.Object类,如果这个时候用不同类加载器加载这两个类
- JVM的双亲委派机制可以解决这个问题