- 通过双亲委派机制可以避免某一个类被重复加载,当父类已经加载后则无需重复加载,保证唯一性。
- 为了安全,保证类库API不会被修改
在工程中新建java.lang包,接着在该包下新建String类,并定义main函数
public class String {public static void main(String[] args) {System.out.println("demo info");}}public class String { public static void main(String[] args) { System.out.println("demo info"); } }public class String { public static void main(String[] args) { System.out.println("demo info"); } }
此时执行main函数,会出现异常,在类 java.lang.String 中找不到 main 方法
![JVM为什么采用双亲委派机制 图片[1]-JVM为什么采用双亲委派机制-不念博客](https://www.bunian.cn/wp-content/uploads/2023/12/image-72.png)
出现该信息是因为由双亲委派的机制,java.lang.String的在启动类加载器(Bootstrap classLoader)得到加载,因为在核心jre库中有其相同名字的类文件,但该类中并没有main方法,这样就能防止恶意篡改核心API库。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END