A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JAVA运行时在内存中划分五片空间对自己的数据进行存储,分别是方法区,本地方法区,寄存器,栈内存,堆内存。今天主要对栈内存与堆内存进行一个总结。
栈内存:由函数在栈内存中开辟空间,主要存放变量,数据使用完毕后内存自动释放。
堆内存:主要用于存放实体,将实体在堆内存中的地址赋予变量从而确定变量值;堆内存中的默认初始化值为0;当实体在堆内存中使用完毕后,由JAVA虚拟机自动启动垃圾回收机制不定时清除实体从而释放内存

9 个回复

倒序浏览
新人第一帖,果断沉了:'(
回复 使用道具 举报 1 0
___瘦不了 发表于 2014-8-22 13:41
新人第一帖,果断沉了

刚开始还能整明白,后来就弄糊涂了好像还有个方法区什么的
回复 使用道具 举报
Nullifier 发表于 2014-8-22 17:31
刚开始还能整明白,后来就弄糊涂了好像还有个方法区什么的

来来来,你这么给我面子,我必须给你整明白了,你说的那个我上面已经说了,就是由方法在栈内存中开辟出一个内存空间,就好比你定义了一个main函数,main函数就在栈内存中开辟一个内存空间,而main函数里的变量就存在于main函数所开辟的这个空间当中

评分

参与人数 1黑马币 +5 收起 理由
fantacyleo + 5 虽然不准确,但助人精神可嘉

查看全部评分

回复 使用道具 举报
额,就是栈里边放虚的,堆里边放实的……
回复 使用道具 举报 1 0
Nullifier 发表于 2014-8-22 18:11
额,就是栈里边放虚的,堆里边放实的……

你这总结简单粗暴!
回复 使用道具 举报
哈哈,就先这么记着了
回复 使用道具 举报
___瘦不了 发表于 2014-8-22 18:03
来来来,你这么给我面子,我必须给你整明白了,你说的那个我上面已经说了,就是由方法在栈内存中开辟出一 ...

定义main函数并不会导致栈内存中开辟空间,只有你定义的函数被调用时,栈内存中才有可能会开辟空间
回复 使用道具 举报
这个虚实说的好
回复 使用道具 举报
fantacyleo 发表于 2014-8-22 18:40
定义main函数并不会导致栈内存中开辟空间,只有你定义的函数被调用时,栈内存中才有可能会开辟空间 ...

你这回复更精确了,确实是少了句函数被调用时,初级黑马小菜鸟需要你们助长和鼓励
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马