JVM 运行时数据区域_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > JVM 运行时数据区域

JVM 运行时数据区域

 2011/10/6 8:11:49  ol_beta  http://softbeta.iteye.com  我要评论(0)
  • 摘要:Java虚拟机管理的内存包括以下几个运行时数据区域:1.程序计数器:程序计数器是一块比较小的内存空间,是当前线程执行的字节码行号指示器。Java多线程是通过线程轮流切换来实现的,所以每个线程都有一个自己独立的程序计数器,各个线程的程序计数器互补干扰。2.Java虚拟机栈Java虚拟机栈描述的是Java方法的执行模型:每个方法执行的时候都会创建一个帧栈用于存放局部变量表,操作栈,动态链接,方法出口等信息。一个方法的执行过程,就是这个方法对于帧栈的入栈出栈过程。3
  • 标签:运行 数据 JVM

Java虚拟机管理的内存包括以下几个运行时数据区域:


?

1.程序计数器:

?

程序计数器是一块比较小的内存空间,是当前线程执行的字节码行号指示器。Java 多线程是通过线程轮流切换来实现的,所以每个线程都有一个自己独立的程序计数器,各个线程的程序计数器互补干扰。

2.Java虚拟机栈

Java虚拟机栈描述的是 Java 方法的执行模型:每个方法执行的时候都会创建一个帧栈用于存放局部变量表,操作栈,动态链接,方法出口等信息。一个方法的执行过程,就是这个方法对于帧栈的入栈出栈过程。

3.本地方法栈

本地方法栈与Java 虚拟机栈功能相似。 Java 虚拟机栈储存 Java 方法执行的数据,本地方法栈储存 Native 方法执行数据。

4.堆

堆是Java 虚拟机管理内存中最大的一块,也是垃圾回收经常光顾的地方。堆里存放的是对象的实例。

5.方法区域

方法区域存放的是被虚拟机加载的类信息,常量,静态变量,即时编译后的代码等数据。Java 虚拟机规范中将它描述成堆的一部分。常量池是方法区域的一部分,里面存放编译期生成的各种字面量和符号引用。

另外,还有直接内存,它不是虚拟机运行时数据的一部分,也不是Java 虚拟机规范中定义的内存区域,但是这部分内存是会被频繁的使用的。

?

发表评论
用户名: 匿名