JVM 内存结构
Posted huyang0726
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM 内存结构相关的知识,希望对你有一定的参考价值。
1、jvm分类
1.1.Hotspot VM 是之前使用最广泛的Java虚拟机,
1.2.JRockit VM 是BEA 开发的一款虚拟机是 号称 "运行最快的java虚拟机"、
1.3.J9 VM 是IBM开发的一款虚拟机
1.4.Dalvik Vm 是Google 开发的一款移动端虚拟机
总结: 现在OEACLE 收购了 SUN 和 BEA 将HotSpot 和JRockit 两款虚拟机合并
2、jvm 运行时数据区
2.1.jvm 在运行过程中会将它管理的内存划分成若干个不同的区域
线程共享:堆、方法区
线程私有: 程序计数器、虚拟机栈,本地方法栈
2.2.程序计数器
指向当前线程正在执行的字节码指令的地址
因为java是多线程和cup时间片轮转机制算法,导致线程上下文切换,所以当线程恢复运行的时需要保证程序的正常运行,需要记录之前线程运行的位置
2.3.虚拟机栈
特点:是先进后出、入口和出口只有一个栈,是一种数据结构
作用:存储当前线程运行方法所需的数据、指令、返回地址
以上是关于JVM 内存结构的主要内容,如果未能解决你的问题,请参考以下文章