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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© boy_AND_gou 中级黑马   /  2014-4-22 22:29  /  1355 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 boy_AND_gou 于 2014-4-24 00:15 编辑

堆和贱都是什么意思,通俗易懂的

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

9 个回复

倒序浏览
简单的说:  Java把内存划分成两种:一种是栈内存,一种是堆内存。

在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。
当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。      

堆内存用来存放由new创建的对象和数组。      
在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报 1 0
☆枫の云 发表于 2014-4-22 22:45
简单的说:  Java把内存划分成两种:一种是栈内存,一种是堆内存。

在函数中定义的一些基本类型的变量和 ...

怎么提问结束啊,不会额
回复 使用道具 举报
boy_AND_gou 发表于 2014-4-22 23:16
怎么提问结束啊,不会额

点击编辑你的帖子 再编辑页面就可以改了
回复 使用道具 举报

RE: 堆和贱都是什么意思,通俗易懂的

提问结束
回复 使用道具 举报

{:3_68:}……
回复 使用道具 举报

:sleepy:你说的那个地方没找到,这论坛的客户体验太差了l。。。。。。。。。。。。。。。
回复 使用道具 举报
鲤鱼 中级黑马 2014-4-22 23:47:10
8#
boy_AND_gou 发表于 2014-4-22 23:41
你说的那个地方没找到,这论坛的客户体验太差了l。。。。。。。。。。。。。。。 ...

{:3_68:}no 系 me
回复 使用道具 举报
栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小
回复 使用道具 举报
本帖最后由 嘴角上揚ぃ读不 于 2014-4-23 18:44 编辑

栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。     堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马