classloader
共有以下三种:
启动类加载器,无法被Java程序调用;
1.根加载器Bootstrap(也叫启动类加载器,无法被Java程序调用);
2.扩展类加载器Extension
3.系统加载器System
CustomClassLoader(用户自定义类加载器),用户自定义的类加载器,可加载指定路径的class文件
双亲委派机制:
收到加载请求时,查看是否加载过,若无,向父类加载器向上委托,递归这个操作,直到到达根加载器;
根加载器判断能否自己加载这个类,若能,则加载,若不能,向子类向下委托,递归这个操作,直到完成加载。
双亲委派的作用:
1、防止重复加载同一个.class。通过委托去向上面问一问,加载过了,就不用再加载一遍。保证数据安全。
2、保证核心.class不能被篡改。通过委托方式,不会去篡改核心.clas,即使篡改也不会去加载,即使加载也不会是同一个.class对象了。不同的加载器加载同一个.class也不是同一个Class对象。这样保证了Class执行安全。
05-23
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交