关闭

Java虚拟机-----内存区域的划分

标签: javajvm
525人阅读 评论(0) 收藏 举报
分类:

最常用的JVM是:Oracle HotSpot (热点)

Java 虚拟机在执行 Java 程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java 虚拟机规范将 JVM 所管理的内存分为以下几个运行时数据区:程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区。

                  Java 虚拟机运行时数据区
Java虚拟机中若干种程序运行期间会使用到的存储不同类型数据的区域。
有一些区域是全局共享的,随着虚拟机启动而创建,随着虚拟机退出而销毁。有一些区域是线程私有的,随着线程开始和结束而创建和销毁。
是所有 Java 虚拟机共同的内存区域概念模型

运行时数据区的划分
a> 程序计数器
b> Java 堆
c> Java 虚拟机栈
d> 本地方法栈
e> 方法区

这里写图片描述

   <>程序计数器(Program Counter Register)
   一块较小的的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器。
   如果线程正在执行的是一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是 Native 方法,这个计数器值则为空。
   此内存区域是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError情况的区域。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:86454次
    • 积分:1197
    • 等级:
    • 排名:千里之外
    • 原创:45篇
    • 转载:3篇
    • 译文:0篇
    • 评论:12条
    最新评论