参考文章:
- 《Java Se11 虚拟机规范》
- 《深入理解Java虚拟机-JVM高级特性与最佳实践 第3版》- 周志明
本文基于Java Se 11讲解 。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域:
文章插图
对于不同的虚拟机实现 , 在运行时数据区的实现上并不完全相同 。对于常用的HotSpot虚拟机来说 , 它的运行时数据区如下:
文章插图
主要区别在于,HotSpot使用了直接使用本地内存(即机器本身内存)的元空间(metaspace)来实现方法区 。
下面针对每个具体的数据区域进行详细的介绍 。
1. 程序计数器
程序计数器(
推荐阅读
- KeeWiDB的高性能修炼之路:架构篇
- .NET 源码学习 [数据结构-线性表1.2] 链表与 LinkedList<T>
- 孙荣辛|大数据穿针引线进阶必看——Google经典大数据知识
- 元数据性能大比拼:HDFS vs S3 vs JuiceFS
- JVM学习笔记——内存模型篇
- JS数据结构与算法-队列结构
- Day04:Java数据类型
- 关于入门深度学习mnist数据集前向计算的记录
- jvm双亲委派机制详解
- 万字详解JVM,让你一文吃透