类加载子系统的图解(英文版):
‘
类加载子系统图解(中文版):
类加载子系统的过程:
1.类加载器子系统负责从文件系统或者网络中加载Class 文件,class文件在文件开头有特定的文件便是。
2ClassLoader 只负责class 文件的加载,至于它是否可以运行,则由ExecutionEngine(执行引擎)决定。
3.加载的类信息村在于一块称为方法去的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的映射)
例子:
1.class file 存在于本地硬盘上,可以理解为设计师画在纸上的模板,而最终这个模板在执行的时候要加载到JVM当中来,根据这个文件实例化出n个一摸一样的实例。
2.class file 加载到JVM中,被称为DNA元数据模板,放在方法区中。
3.在.class 文件——>JVM——> 最终称为元数据模板,此过程就要一个运输工具:类加载器Class Loader,说白了类加载器就是将二进制流加载到内存中。