一、Java虚拟机体系结构
JDK体系结构
JDK全称为Java Development Kit Java开发工具包。里面包括了JRE,其中JRE也包括了JVM。

JVM整体架构
- JVM(虚拟机):就是在操作系统之上再以一个软件的方式来覆盖一层虚拟机,里面包括了所有Java程序可以运行的环境。因此Java程序才可以实现跨平台的作用。
- 具体的结构如下:
![]()
JVM内存结构
两个知识点的辨析:
- JVM:Java虚拟机,其中包括类装载子系统、运行时数据区(JMM 内存模型)、执行引擎。也就是说JVM和JMM是一个包含和被包含的关系。
- JMM:运行时数据区,也叫做Java内存模型。里面包含了五块内容,分别是堆、栈、本地方法栈、方法区和程序计数器PC。
![]()
这里一定要记得: - JVM里有三大块
- 类装载子系统
- JMM
- 执行引擎
- JMM里有五大块
- 堆
- 栈
- 本地方法栈
- 方法区
- 程序计数器PC(硬件)
Java程序的运行流程

几个注意点:
- 栈里面一定不会有垃圾回收,因为栈里面的东西用完就弹出。
- 程序计数器是一个硬件,所以栈、本地方法栈、PC三个地方一定不会出现垃圾回收。
- JVM调优,其实百分之九十九地情况都是在调方法区和堆。



浙公网安备 33010602011771号