黑马JVM总结(三十一)

(1)类加载器-概述

黑马JVM总结(三十一)_第1张图片

启动类加载器-扩展类类加载器-应用程序类加载器

双亲委派模式:

类加载器,加载类的顺序是先依次请问父级有没有加载,没有加载自己才加载,扩展类加载器在getParent的时候为null 以为Bootstrap(启动类加载器)使用c++写的

(2)类加载器-启动类加载器

我们可以使用虚拟机参数,把自己写的类交给启动类加载器加载 

Class.forName可以完成类的加载,也可以做连接跟初始化操作 

黑马JVM总结(三十一)_第2张图片

使用java命令编译:java -Xbootclasspath...  

Xbootclasspath指定有启动类加载器加载

/a:是后追加

/p:前追加  ,可以替换加载的类 

黑马JVM总结(三十一)_第3张图片

(3)类加载器-扩展类加载器

黑马JVM总结(三十一)_第4张图片

黑马JVM总结(三十一)_第5张图片 

java命令类打包:

黑马JVM总结(三十一)_第6张图片

打完包之后再扩展类加载器路径下放一份:黑马JVM总结(三十一)_第7张图片

类路径下在运行打印的不是应用程序类加载器了,变成了扩展类加载器,因为它是由父级进行加载 

黑马JVM总结(三十一)_第8张图片

(4)类加载器-双亲委派-原码分析

双亲委派

黑马JVM总结(三十一)_第9张图片

黑马JVM总结(三十一)_第10张图片

你可能感兴趣的:(JVM虚拟机,jvm)