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 内存结构的主要内容,如果未能解决你的问题,请参考以下文章

你真的懂JVM内存结构吗?—深入理解JVM之内存结构

详解Jvm内存结构

详解Jvm内存结构

详解Jvm内存结构

JVM内存结构

JVM内存结构