Java类的加载过程
类加载的流程图:
上来就是流程图:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3e4660290624410d309b9c4e06a0fe14.png)
当我们使用到一个类的时候:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6f8b82d5f26c28871f1075f6b69504eb.png)
一、加载(Loading)
1、加载的定义
先声明以下,这里的"加载"只是类加载过程中的一个阶段,如流程图中所示,就是类加载过程的第一个阶段。
- 通过一个类的
全限定名
获取定义类的二进制字节流
,这里没有指定二进制字节流要从一个文件中获取,原因是获取类的二进制字节流的方式有多种
。
2、加载二进制字节流的方式:
- 从本地系统中直接加载
- 通过网络获取,典型场景:Web Applet
- 从zip压缩包中读取,例如:jar、war等格式
- 运行时计算生成,使用最多的是:动态代理技术