JVM运行时数据区域(五大内存区划分--堆Heap、虚拟机栈VM Stack、程序计数器Programming Counter、方法区Method Area、本地方法栈Native Method)

我是蚊子码农,本次将为大家介绍JVM的五大内存区划分。

一、主题概括

对于操作系统来说,Java虚拟机只是一个普通应用程序,所以操作系统会给它分配一块内存。
为了更方便地构建Java程序结构和管理内存,JVM将这块内存又细分成了5个部分。
分别是堆区Heap、虚拟机栈VM Stack、本地方法栈Native Method Stack、方法区Method Area和程序计数器Programming Counter。
本文主要介绍这些内存的功能、异常,也会提及外界功能的交互。

二、功能介绍

本节内容,介绍每个内存的主要功能。

  1. 程序计数器PC:辅助执行引擎,执行下一条字节码指令。
  2. 虚拟机栈VM Stack:帮助Java方法的执行。
  3. 本地方法栈NM Stack:帮助本地方法的执行。【本地方法,即C、C++方法】
  4. 堆区Heap:管理几乎所有对象实例和数组。
  5. 方法区Method Area:存储类定义信息。【即,class文件中的信息】

三、程序计数器Programming Counter

  1. 作用:完成“程序控制”这一工作,实现分支、循环、跳转、异常处理、线程恢复等基础功能;
  2. 工作内容:通过改变值,得到下一条执行的字节码指令,从而使执行引擎能够正确执行指令;
  3. 线程私有:原因在下面;
  4. 异常:无(未定义);

在JV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值