java怎样理解“堆空间”和“栈空间”

cebaneoi
推荐于2017-10-10 · TA获得超过4989个赞
知道小有建树答主
回答量:1040
采纳率:42%
帮助的人:733万
展开全部
1、堆空间 就是用来存储对象的 栈空间是用来存储一些变量的 用完后会通过垃圾收集器自动清楚 引用对象通过类似指针的方法来指 2、程序从硬盘载入的内存-有四个内存区供程序使用 heap(堆 ),stack(栈),data segment,code segment heap堆:用来存放new出来的东西 stack栈:局部变量。 data segment:静态变量,字符串常量。 code segment:存放代码 3、首先解释一下虚拟机内存: java虚拟机存在方法区,堆空间与栈空间,定义是这样的,虚拟机具体实现完全可以把它们分开在不同内存中,也可以把它们放在同一段内存中。 方法区存放类与方法。 堆空间存放实例化的对象。 栈空间有两种,一种是方法栈,虚拟机会为每个线程所调用的方法申请空间,而这个栈就是这些空间,另外一个是操作数栈,两个局部变量或者成员变量需要进行处理的时候,执行语句会吧这两个变量的值放入操作数栈中进行处理,处理完成以后会将处理结果弹出栈。 了解了这些后其实那些问题都不难: 第一个问题上面说得很清楚了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式