首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
JVM内存不包含如下哪个部分( )
[单选题]
JVM内存不包含如下哪个部分( )
Stacks
PC寄存器
Heap
Heap Frame
查看正确选项
添加笔记
求解答(14)
邀请回答
收藏(2971)
分享
40个回答
添加回答
146
晨曦破晓耀天地
发表于 2019-07-24 09:37:10
回复(11)
77
宇宙銀河騎士
java好像只有栈帧 没有堆帧 pc寄存器 就是 程序计数器
程序计数器是一个以
线程私有
的一块较小的内存空间,用于记录所属线程所执行的
字节码的行号指示器
;字节码解释器工作时,通过改变程序计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳准、异常处理、线程恢复等基础功能都需要依赖程序计数器来完成
QAQ 第一次回答 不知道对不对
编辑于 2019-06-27 10:10:20
回复(3)
21
薛定谔没有猫丶
Stacks: JVM中有虚拟机栈和本地方法栈,都属于栈
PC寄存器: 即程序计数器,用来记录程序执行过程中的将要执行的下一条指令的行号
Heap:堆,这个不用说
Heap Frame:翻译过来 堆帧?对不起我只听说过栈帧(Stack Frame)
发表于 2020-07-13 18:41:50
回复(1)
14
已注销
堆。 堆是Java对象的存储区域,任何用new字段分配的Java对象实例和数组,都被分配在堆上,Java堆可使用-Xms -Xmx进行内存控制,值得一提的是从JDK1.7版本之后,运行时常量池从方法区移到了堆上。
方法区。它用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据,方法区在JDK1.7版本及以前被称为永久代,从JDK1.8永久代被移除。
虚拟机栈。虚拟机栈中执行每个方法的时候,都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。
本地方法栈。与虚拟机栈发挥的作用相似,相比于虚拟机栈为Java方法服务,本地方法栈为虚拟机使用的Native方法服务,执行每个本地方法的时候,都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。
程序计数器。指示Java虚拟机下一条需要执行的字节码指令。
以上五个区域是Java虚拟机内存划分情况,其中方法区和堆被JVM中多个线程共享,比如类的静态常量就被存放在方法区,供类对象之间共享,虚拟机栈,本地方法栈,pc寄存器是每个线程独立拥有的,不会与其他线程共享。
所以Java在通过new创建一个类对象实例的时候,一方面会在虚拟机栈中创建一个该对象的引用,另一方面会在堆上创建类对象的实例,然后将对象引用指向该对象的实例。对象引用存放在每一个方法对应的栈帧中。
编辑于 2019-12-26 15:09:23
回复(0)
7
offer快快快快快快快来吧
https://blog.csdn.net/qq_24499615/article/details/80012470
发表于 2019-07-02 11:59:13
回复(0)
6
咸鱼小哲
PC,是program counter的缩写,就是程序计数器,PC寄存器中的内容,是下一条要取的指令的16位存储单元地址,在程序执行的过程中,PC中的值会自动加一。 jvm内存中的数据区域有:程序计数器,堆,虚拟机栈,本地方法栈,方法区。 虚拟机栈是描述java方法执行时候的内存模型:每个方法执行的同时,都会创建一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。每一个方法从调用到执行完成的过程,就对应一个栈帧在虚拟机栈中入栈到出栈的过程。 而堆是垃圾回收管理的主要区域,也称“GC堆”,从内存分配的角度来看,线程共享的java堆中可能划分出多个线程私有的分配缓冲区,无论怎么划分,都与存放无关,无论哪个区域,存放的仍是对象实列,所以堆中并没有帧的概念。
发表于 2019-07-17 16:09:51
回复(0)
5
叉烧包201811130919384
没人吗
发表于 2019-06-27 08:55:27
回复(0)
3
joechinochl
什么时候叫pc寄存器了,明明是程序计数器。
发表于 2022-04-01 18:14:32
回复(0)
3
牛客59880486号
JVM内存结构划分:堆,虚拟机栈,本地方法栈,方法区,程序计数器 这个题所谓的PC寄存器:PC寄存器( PC register ):每个线程启动的时候,都会创建一个PC(Program Counter,程序计数器)寄存器。 其实就是程序计数器;JVM没有 Heap Frame (堆帧)
发表于 2021-10-31 20:45:47
回复(0)
3
IDEA2022.4.2
JVM运行时数据区域有java虚拟机栈,堆 方法区,本地方法栈,程序计数器,没有堆栈
发表于 2019-08-23 12:25:59
回复(0)
3
小白想要offer
知识盲区
发表于 2019-07-29 01:26:09
回复(0)
3
胖鹤
发表于 2019-07-25 09:08:41
回复(0)
2
FLYFREELY
选D,java只有栈帧没有堆帧,所以没有Heap Frame;JVM内存示意图:
发表于 2022-07-31 08:36:46
回复(0)
2
牛客000928
JVM运行时数据区域有java虚拟机栈,堆 方法区,本地方法栈,程序计数器,没有堆栈
发表于 2021-09-28 17:22:38
回复(0)
2
邓帅
JVM只有栈帧 没有堆帧
发表于 2021-09-20 15:58:28
回复(0)
2
java5
JVM内存结构划分:堆,虚拟机栈,本地方法栈,方法区,程序计数器 这个题所谓的PC寄存器:PC寄存器( PC register ):每个线程启动的时候,都会创建一个PC(Program Counter,程序计数器)寄存器。 其实就是程序计数器;JVM没有 Heap Frame (堆帧)
发表于 2021-06-16 00:54:04
回复(0)
2
一颗冲天心
做个小笔记把。JVM中有JAVA虚拟机栈,栈帧。堆,程序计数器(也就是题目中所谓的PC寄存器),本地方法栈,方法区
发表于 2020-10-17 11:33:58
回复(0)
2
我是一个垃圾
对于JVM的题目都是开局一张图,剩下全靠理解
发表于 2020-03-21 00:37:32
回复(0)
2
哗~啦~啦
JVM内存结构划分:堆,虚拟机栈,本地方法栈,方法区,程序计数器
这个题所谓的PC寄存器:
PC寄存器( PC register ):每个线程启动的时候,都会创建一个PC(Program Counter,程序计数器)寄存器。
其实就是程序计数器;JVM没有
Heap Frame (堆帧)
发表于 2020-02-13 11:49:59
回复(0)
1
努力学习的张先生
PC寄存器 = 程序计数器
Heap Frame :堆框架,并不能理解。
发表于 2021-05-07 21:28:21
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
京东
2019
Java
Java工程师
上传者:
小小
难度:
40条回答
2971收藏
10348浏览
热门推荐
相关试题
(verbal)最近的研究显示,许...
言语理解与表达
2019
普华永道
人力资源
审计
税务服务
风险管理
管理咨询
行政管理
评论
(2)
来自
职能类模拟题14
(verbal)最近的研究显示,许...
言语理解与表达
2019
普华永道
人力资源
审计
税务服务
风险管理
管理咨询
行政管理
评论
(3)
来自
职能类模拟题14
有两根粗细均匀的香,每根燃尽需1小...
京东
智力题
评论
(11)
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
对于小红书,创作者和粉丝之间互相不...
需求分析
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题