jvm(三)类加载器的父亲委托机制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qwkxq/article/details/56021124

java类加载遵循父亲委托机制(Parent Delegation),这种机制更好的保证了java平台的安全。

除了java自带的根类加载器之外的类加载器都有且只有1个父类加载器,当java程序请求类加载器加载某一个类时,类加载器会

首先委托自己的父类加载器去加载该类,若父类加载器能加载,则由父类加载器完成加载,否则才由自己来加载。

*这里指的父类加载器和子加载器并不一定继承关系。


我们自定义的类加载器一定会继承ClassLoader抽象类,但是这个类的父加载器并不是ClassLoader,

父类加载器需要通过类加载示例时将父加载器传入构造器参数来指定,如果不指定(使用默认构造器示例),则默认的父类加载器就是系统类加载器。


定义类加载器和初始化类加载器:

如果某个类加载器实际加载一个类,则称该类加载器为定义类加载器。该类加载和其字类加载器并称为初始化类加载器


java采用父亲委托机制加载类的安全考虑:



----------------类加载器相关的一些概念----------------------------------


类加载器的命名空间:



类的运行时包:




猜你喜欢

转载自blog.csdn.net/qwkxq/article/details/56021124