类加载子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识。Classloader只负责class文件加载,具体是否可以运行由ExecutionEngine决定。
加载类信息存放于一块方法区的内存空间,除此外,方法区还存放运行时常量池信息,可能还有字符串字面量和数字常量(这部分常量信息是class文件中常量池部分的内存映射)
类加载器classLoader角色:
- class file存在本地硬盘上,可以理解为设计师画在纸上的模板,最终执行需要加载到JVM当中来,根据这个文件实例化出n个一模一样的实例。
- Class file加载到JVM中,称为DNA元数据模板,放在方法区。
- 在.class文件—》JVM—》最终成为元数据模板,此过程需要一个运输工具(类装载器classLoader),扮演一个快递员的角色。