类加载器--命名空间--共享访问--安全

1.每个类加载器都有一个独立的命名空间。
2.命名空间概念:虚拟机中存有加载器A的一张表,该表记录了将A视为初始类加载器的所有类型,该表极为A的命名空间。
3.在虚拟机中加载的类是唯一的,这须由加载器命名空间和类权限定名来一起作为限制。
4.类加载器采用双亲委派方式来使用合适的加载器进行加载工作。
5.真正进行加载工作的成为定义类加载器,而之前发起委派的以及定义类加载器都称为初始类加载器。
6.被加载的类A在其初始类加载器B,C,...中共享访问的。
7.加载类A后生成如下约束:
加载器B是类型A的初始类加载器,加载器C是类型A的初始类加载器,并且这两个类型A是同一个类型。

当恶意添加某同名A类(可能输出重要数据)以及重写加载器B(或C)时,这个约束会发现当前加载器B加载的类A和之前加载类A不是一个类型,从而提示错误。如果没有该约束,那么A被加载,重要数据被输出。

你可能感兴趣的:(类加载器--命名空间--共享访问--安全)