面试回答,JVM内存模型/内存空间:运行时数据区

本文详细介绍了Java虚拟机JVM的运行时数据区,包括程序计数器、虚拟机栈、本地方法栈、Java堆、方法区(非堆)以及运行时常量池。每个区域的作用、异常情况以及与直接内存的关系进行了阐述。
摘要由CSDN通过智能技术生成

发布于个人公众号,打开微信,搜索MelodyJerry即可

本文由作者原文 [JVM|内存模型] Java虚拟机的内存模型?也就这7个而已 修改而来,可点击左下角阅读原文。

JVM内存模型/内存空间

Java虚拟机JVM运行起来,就会给内存划分空间,这块空间成为运行时数据区

运行时数据区主要划分为以下 6个

image-20210829150433288

程序计数器 (Program Counter Register)

  • 一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器
  • 线程私有的内存
  • 值得注意的是:《Java虚拟机规范》中,唯一一个没有规定任何OutOfMemoryError情况的区域!!!

程序计数器也可以称为PC寄存器,通俗的讲就是指令缓存,它主要用来缓存当前程序执行的下一条指令的地址,CPU根据这个地址找到将要执行的指令。这个寄存器是JVM内部实现的,不是物理概念上的计数器,不过和JVM的实现逻辑一样。

Java虚拟机栈 (VM Stack)

  • Java方法执行的线程内存模型
  • 每一个线程运行起来的都会对应一个栈(
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢前端的后端MelodyJerry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值