JVM
什么是双亲委派模型
❒ 向上查找,向下加载 ✔ 加载某一个类,先委托上一级的加载器进行加载, ✔ 如果上级加载器也有上级,则会继续向上委托, ✔ 如果该类委托上级没有被加载,子加载器尝试加载该类 ❒ JVM为什么采用双亲委派机制? (1) 通过双亲委派机制可以避免某一个类被重复加载,当父类已经加载后则无需重复加载,保证唯一性。 (2) 为了安全,保证类库API不会被修改 由于是双亲委派的机制,java.lang.String的在启动类加载器得到加载,因为在核心jre库中有其相同名字的类文件,但该类中并没有main方法。这样就能防止恶意篡改核心API库
1.什么是双亲委派模型? ✔ 加载某一个类,先委托上一级的加载器进行加载,如果上级加载器也有上级,则会继续向上委托,如果该类委托上级没有被加载,子加载器尝试加载该类 BootStrap ClassLoader(load from JAVA HOME/jre/lib) -> ExtClassLoader(load from JAVA HOME/jre/lib/ext) -> AppClassLoader(load from CLASSPATH) -> CustomizeClassLoader 2.JVM为什么采用双亲委派机制? ✔ 通过双亲委派机制可以避免某一个类被重复加载,当父类已经加载后则无需重复加载,保证唯一性。 ✔ 为了安全,保证类库API不会被修改