类加载器中双亲委派机制的作用
双亲委派加载机制大概如上图,他接收到加载请求时不会自己去加载而是会一级一级往上传,传到顶层之后,先有顶层来加载,顶层加载不了才会逐级调用下面的类加载器,直到加载成功为止。
顶层的类加载器基本都是加载jvm底层的jar包啊一些东西,可以看到上图示例中自建了一个java.lang.string类,执行main方法之后提示找不到main方法,这明显证明启动之后加载的string类不是这个自建类,而是系统原生的string类,就是因为顶层加载器在rt.jar包中找到了java.lang.string这时他会直接加载rt.jar包中的类,而不会加载你的自建类。
这样就防止了程序员随便修改jdk的类,这就是所谓的沙箱安全机制,这样做也能防止重复加载相同的类。