深入理解jvm读书笔记十三 类加载器

深入理解jvm读书笔记十三 类加载器

如何确定jvm中的一个类的唯一性

深入理解jvm读书笔记十三 类加载器

双亲委派模型

深入理解jvm读书笔记十三 类加载器

深入理解jvm读书笔记十三 类加载器

深入理解jvm读书笔记十三 类加载器

深入理解jvm读书笔记十三 类加载器

ps: bootstrap、ext、app这三种类加载器都没有覆盖父类的findClass(name)方法,默认会直接抛出异常。所以如果想自己实现一个类加载器,一般会覆盖父类的这个方法,把自己的类加载逻辑放到这个方法中。

不符合双亲委派模型的类加载

深入理解jvm读书笔记十三 类加载器

JDBC的例子

jdbc的驱动类是一个SPI,由rt.jar中的Driver类去加载,这种场景就是bootstrap classloader请求appclassloader加载SPI;

深入理解jvm读书笔记十三 类加载器

深入理解jvm读书笔记十三 类加载器

深入理解SPI机制

ps: 实际项目中可能会出现多个/META-INF/service/java.sql.Driver文件,会实例化多个驱动类,那么获取数据库连接的时候到底使用哪个驱动类?