1:类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。
所有的类都由类加载器加载,加载的作用就是将 .class文件加载到内存。
2.双亲委派模型
系统中的 ClassLoder 在协同工作的时候会默认使用 双亲委派模型 。在类加载的时候,系统会首先判断当前类是否被加载过。已经被加载的类会直接返回,否则才会尝试加载。加载的时候,首先会把该请求委派该父类加载器的 loadClass()
处理,因此所有的请求最终都应该传送到顶层的启动类加载器 BootstrapClassLoader
中。当父类加载器无法处理时,才由自己来处理。当父类加载器为null时,会使用启动类加载器 BootstrapClassLoader
作为父类加载器。
3.可以利用双亲委派模型的加载方式解决同时需要冲突版本jar包的问题