1 java类加载过程
jvm P209
https://blog.csdn.net/weixin_41563161/article/details/103885802 双亲委派模型
目录
连接
jvm p214
一 简介
一个Java文件从编码完成到最终执行,一般主要包括两个过程
编译
运行
编译,即把我们写好的java文件,通过javac命令编译成字节码,也就是我们常说的.class文件。
运行,则是把编译声称的.class文件交给Java虚拟机(JVM)执行。
类加载过程即是指JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。
举个通俗点的例子来说,JVM在执行某段代码时,遇到了class A, 然而此时内存中并没有class A的相关信息,于是JVM就会到相应的class文件中去寻找class A的类信息,并加载进内存中,这就是我们所说的类加载过程。
由此可见,JVM不是一开始就把所有的类都加载进内存中,而是只有第一次遇到某个需要运行的类时才会加载,且只加载一次。
二 类加载
类加载的过程主要分为三个部分:
1 加载
2 链接(而链接又可以细分为三个小部分:)
验证
准备
解析
3 初始化
4 使用
5卸载
加载(重点)
第一种说法
加载,是指Java虚拟机查找字节流(查找.class文件),并且根据字节流创建java.lang.Class对象的过程。这个过程,将类的