JVM类加载器的双亲委派机制
bootstrap classloader 根/启动类加载器
extensions classloader 扩展类加载器
application classloader 应用程序类加载器
user defined classloader 用户自定义类加载器
双亲委派原理:
在某个特定的类加载器在接到类加载请求时,会首先将加载任务委托给父类加载器,依次递归。如果父类加载器可以完成加载则成功返回,如果父类加载器不能完成则自己去加载。
双亲委派的优点:
1.使java类随着它的类加载器有了一种优先级的层次关系,可以避免类的重复加载。
2.从安全方面考虑,可以防止java定义的核心api被更改,比如自定义Integer类,然后发现在启动类加载器中发现重名的,自定义的类便不会被加载,防止了核心api库被随便篡改。