1. JVM主要由两个子系统和两个组件组成:
两个子系统:
1、Class Loader 类加载器: 用于读入Java源代码并将类加载到数据区。
2、Execution Engine 执行引擎: 执行来自数据区的指令。
两个组件:
1、运行时数据区:JVM的内存区域
2、本地接口:即JNI,一个标准的java API,支持异构语言集成
2. 体系结构图:
附加说明:
1、线程隔离区:指的是以线程为粒度的,每个线程独自拥有
3. 运行时数据区模型图:
4. 存储说明:
5. 堆内存模型(分代收集):
该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结:
【基础+实战】JVM原理及优化系列之一:JVM体系结构
【基础+实战】JVM原理及优化系列之二:JVM内存管理
【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器
【基础+实战】JVM原理及优化系列之四:JVM参数说明
【基础+实战】JVM原理及优化系列之五:JVM默认设置
【基础+实战】JVM原理及优化系列之六:JVM主要调优参数
【基础+实战】JVM原理及优化系列之七:JVM调优注意事项
【基础+实战】JVM原理及优化系列之八:如何查看JVM参数配置?
【基础+实战】JVM原理及优化系列之九:JVM监控、分析与故障处理实战
【基础+实战】JVM原理及优化系列之十:JVM内存泄漏专题实战
通览该系列文章之后,对JVM会有一个整体的认识,对于JVM问题排查和优化会有一定的帮助,如果想对JVM有更深入的理解和认知,建议深入看一下这本书《Java虚拟机:JVM高级特性与最佳实践(最新第二版)》,网上可以找到pdf版的,大家可以自己百度一下。