ClassLoader源码:
-
数组类型对应的class类对象,不是由类加载器而加载的,是由JVM运行时加载的;
-
类加载的双亲委托机制,对于JVM所提供的加载器本质上是一种“包含”关系,每一类加载器里面的构造方法都有一个指向父类加载器的变量;
-
每个类加载器都有自己的命名空间,命名空间由该加载器及其所有父加载器所加载的类组成;
-
在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类,即不会重复加载,在不同的命名空间中,有可能会出现,p,17,18;
类的卸载:
-
一个类何时结束生命周期,取决于代表它的Class对象何时结束生命周期;
-
由JVM所自带的类的加载器,在虚拟机的生命周期中,始终不会被卸载,虚拟机会始终引用这些类加载器,一个类的实例总是引用代表这个类的实例对象;
-
由用户自定义的类加载器所加载的类是可以卸载的;
-
父类加载器无法访问由子类加载器所加载的类,子类加载器可以访问父类加载器所加载的类;
来源:CSDN
作者:光华路九筒大哥
链接:https://blog.csdn.net/qq_36416280/article/details/104409599