关于classloader双亲委托机制的疑惑?

super码农 发布于 2016/08/23 10:17
阅读 257
收藏 0
今天看到一篇文章说java双亲委托机制最高可以调用到爷爷辈的classloader。但在另外一些文章中又说无论接到加载命令的classloader无论等级几何,如果该classloader的父类及其父类的父类(爷爷辈)classloader在其各自的cache中都没有找到该类,那么这个classloader还会一直向上调用其(曾爷爷辈)的classloader,直至bootstrp ClassLoader这个顶级的classloader。如果在bootstrp ClassLoader的cache中还找不到这个类,这个被调用的classloader才会自己去加载。java双亲委托机制最高只可以调用到爷爷辈的classloader的说法正确吗?
加载中
0
xpbob
xpbob
这个说法不正确,只要你的父类存在委托机制,就会一直找下去,直到bootstrap,只不过当你没有写自己的classloader的时候默认的就那么几个,所以数量少,类似tomcat有自己的classloader( 有些为了逻辑破坏了委托优先) ,这种最高就不止是爷爷辈的了,关键看你有多少classloader
0
皮皮狗
不正确,会一直像上层调用
返回顶部
顶部