类加载器2---父类委托机制

来源:互联网 发布:数控车床左螺纹编程 编辑:程序博客网 时间:2024/06/16 10:04

classloader加载类用的是父类委托机制。

父类委托机制:先让parent类加载器寻找,只有在parent找不到的时候,才从自己类路径中去寻找。

类加载器还采用了cache机制,如果cache中保存了这个class就直接返回它,并存入cache.这就是为什么修改了lass后,必须重新启动JVM才能生效,并且类只加载一次的原因。

值得注意的是,要是不采用父类委托机制,那么可能在不通的类加载器中,定义了相同的类。这样在实例化这个类时:

Demo demo = new Demo();  

可能会出现左边Demo类是在一个类加载器中加载的,而右边的Demo用的另一个类加载器加载的。这就导致了采用了不通的Class字节码装载左右两边的Demo, 从而导致了类型转换异常。

0 0
原创粉丝点击