1.类加载子系统
类加载子系统负责从文件系统或者网络中加载class文件。classLoader只负责class文件的加载,至于他是否可以运行,则由执行引擎(Excution Engine)决定。加载类信息存放于一块称为方法区(元空间)的内存空间。
2.类加载的角色
- class file存在于硬盘上,可以理解为设计师画在纸上的模板,而最终这个模板在执行的时候是要加载JVM当中来,根据这个模板实例化出n个一模一样的实例
- class file加载到JVM中,被称为DNA元数据模板,放在方法区中
- 在.class--> JVM -->最终称为元数据模板,此过程就要有一个运输工具(类加载器Class Loader)就扮演一个快递员的角色。
3.类加载过程
1. 加载
- 通过类名(地址)获取此类的二进制字节流
- 将这个字节流所代表的静态存储结构转化为方法区(元空间)的运行时数据结构 <