1.虚拟机的整体结构
- 市面上主流的虚拟机种类比较多,HotSpot是性能比较高的虚拟机之一,本文介绍的就是HotSpot虚拟机。
- 它采用解释器和即时编译器(JIT)并存的架构
- 主要包含三大块:类加载器子系统、运行时数据区、执行引擎
1.1 类加载器子系统
- 类加载器子系统负责从文件系统或者网络中加载class文件(二进制流),class文件中有特定的开头文件标识(CA FE BA BE开头,需要用工具PXBinaryViewerSetup打开)。
- 类加载器只负责class文件的加载,至于它是否可以运行有执行引擎(Execution Engine)决定。
- 加载的类信息存放在一块叫做方法区的内存空间。除了类的信息外,方法区还存放常量池的信息,可能还包括字符串字面量和数字常量(这部分信息是class文件中常量池部分的内存地址映射)