- new 对象时,class是用当前类的类加载器加载的
- 自定义类加载器加载的类 可以用newInstance方式实例化,用反射方式访问
- 当某个类加载器负责加载Class时,该Class中依赖和引用的所有其他Class也将由该类加载器加载,除非显式的手动使用另一个类加载器强行加载
类加载器命名空间
1、概念
- 每个类加载器都有各自的命名空间,命名空间由该加载器及所有父加载器所加载的类组成。
- 在同一个命名空间中,不会出现全类名相同的两个类。
- 在不同的命名空间中,有可能出现全类名相同的两个类。
2、不同类加载器的命名空间关系
- 同一个命名空间中的类是相互可见的。
- 子加载器的命名空间包含了所有父加载器的命名空间,因此,子加载器中加载的类能看到所有父加载器中加载的类,而父加载器加载的类看不到子加载器加载的类。
- 如果两个加载器之间没有直接或间接的父子关系,那么它们各自加载的类互不可见。