我们知道在jvm中存放了不少数据,那么存放数据的地方叫做存储区。想必大家还不知道存储区是分为两种类型的,常量缓冲池和方法区。相信很多人还没有接触到这个概念,本篇对java中jvm的存储区进行的内容的整理,下面一起来看看这两种存储取的概念和区别吧。
1、分类
JVM有两种类型的存储区:常量缓冲池和方法区。常量缓冲池用于存储类名、方法名和字段名以及字符串常量。方法区用于存储Java方法的字节码。JVM规范中没有规定这两个存储区域的具体实现。因此,Java应用程序的存储布局必须在运行过程中确定,这取决于具体平台的实现。
JVM是对Java字节代码定义的独立平台的规格说明,是Java平台独立性的基础。目前JVM还存在一些限制和不足,需要进一步完善,但无论如何,JVM的思想都是成功的。
2、比较分析
将Java源程序想象为我们的C++源程序,Java源程序编译后生成的字节代码相当于C++源程序编译后的80x86机器代码(二进制程序文件),JVM虚拟机相当于80x86计算机系统在80x86CPU运行的是机器代码,在Java解释器运行的是Java字节代码。
Java解释器相当于运行Java字节码的CPU,但这种CPU不是通过硬件实现的,而是通过软件实现的。Java解释器实际上是特定平台下的应用程序。只要实现了特定平台下的解释器程序,Java字节码就可以通过解释器程序在该平台下运行,这是Java跨平台的根本。目前,并非所有平台下都有相应的Java解释器程序,这也是Java不能在所有平台下运行的原因,只能在实现Java解释器程序的平台下运行。
以上就是java之jvm两种存储区类型的介绍,相信经过本篇的学习,大家已经对存储区的类型有所了解,并能够对它们进行区分啦。更多Java学习指路: