类加载器的继承结构

 

Java类加器分类:


 

类的装载,连接,初始化

装载:  把二进制的java类读入到Java虚拟机中

连接:  把已读入虚拟机的二进制Java类数据合并到虚拟机的运行时状态中去

         分为三步1.验证2.准备3.解析(可选,也可在初始化之后,当被用到时在解析)

初始化:给类变量赋以适当的初始值

 

 


动态扩展java:

1.java.lang.ClassforName()方法

forName(String className, boolean initialize, ClassLoader loader)

loader=null时,使用启动类装载器来装载指定类

forName(String className)

此时,使用当前的类装载器装载

2.用户自定义类装载器的loadClass()方法

ClassLoader类包含了两个loadClass()的重载方法

loadClassString className

loadClassString className, boolean resolve

resolve参数表示是否在装载时执行该类的连接。双参数方法已经过时,不要使用。

 

 

 

 

loader.loadClass(Myclass);   时必须使用全名,即需要包含你的包名。
loader = new URLClassLoader(urls);   只是用于加载时的路径,相当于将你指定的目录加载到了CLASSPATH中。

自定义加载器,不要覆写loadClass()方法,只要覆写findClass()

 

 

 

 


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐