-
-
JVM整体架构
- JVM(虚拟机):指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Virtual Box,Java Virtual Machine
- Java虚拟机阵营:Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM...
-
-
- JVM由三个主要的子系统构成
- 类加载器子系统
- 运行时数据区(内存结构)
- 执行引擎
- JVM由三个主要的子系统构成
-
-
- 手动画了一张
- Java运行时编译源码(.java)成字节码,由jre运行。jre由java虚拟机(jvm)实现。Jvm分析字节码,后解释并执行
-
- 类加载:类加载器将class文件加载到虚拟机的内存
- 加载:在硬盘上查找并通过IO读入字节码文件
- 连接:执行校验、准备、解析(可选)步骤
- 校验:校验字节码文件的正确性
- 准备:给类的静态变量分配内存,并赋予默认值
- 解析:类装载器装入类所引用的其他所有类
- 初始化:对类的静态变量初始化为指定的值,执行静态代码块
- 区别 准备和初始化,静态变量准备时赋予的默认值,在初始化才赋予真实的值
- 类加载:类加载器将class文件加载到虚拟机的内存