内存结构的概述
1. 简图
2. 详图
注意:方法区只有HotSpot虚拟机有,J9,JRockit都没有
类加载子系统的作用
- 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识
- ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。
- 加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)
ClassLoader角色 - class file(在下图中就是Car.class文件)存在于本地硬盘上
- class file加载到JVM中,被称为DNA元数据模板(在下图中就是内存中的Car Class),放在方法区。
- 在.class文件–>JVM–>最终成为元
- 数据模板,此过程就要一个运输工具(类装载器Class Loader)