首页 >>  正文

堆和栈可以简单怎么理解

来源:baiyundou.net   日期:2024-09-22

石范亮1154堆和栈是什么?有大神讲一下吗,讲得通俗一点,看不懂书上说的 -
井宋施15517302969 ______ 栈是由编译器生成和释放的,比如说你定义常量int i=1;或者变量int j;那么他们的内存地址就是由编译器在栈中生成.而堆只能由程序员手动生成释放,典型的就是malloc函数分配堆空间,free释放堆空间

石范亮1154请教堆和栈的概念. -
井宋施15517302969 ______ 你说的是C语言中程序占用的内存吧.大概分下面几种 1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.地址是由高向低减少的 2、堆区(heap) — 一般由程序员分配释放...

石范亮1154什么叫做堆栈? -
井宋施15517302969 ______ 堆和栈是两个不同的概念. 堆(heap)上分配的内存,系统不释放,而且是动态分配的.栈(stack)上分配的内存系统会自动释放,它是静态分配的.运行时栈叫堆栈.栈的分配是从内存的高地址向低地址分配的,而堆则相反.由malloc或...

石范亮1154C语言中的栈、堆是什么? -
井宋施15517302969 ______ C语言中的堆和栈都是一种数据项按序排列的数据结构. 栈就像装数据的桶或箱子 我们先从大家比较熟悉的栈说起吧,它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取. 这就如同我们要取出放在箱子里面底下的...

石范亮1154java中堆和栈的意思 -
井宋施15517302969 ______ 堆和栈都是内存空间管理结构,但是在堆上空间可以任意分配,而栈只能在栈顶分配.每个JVM只有一个堆,每个Thread都有一个栈.栈用来分配Java method中的局部变量,而实例变量则在堆上.打个比方,有一个长为10的空间[1-10],而你需要长为2的空间,如果是堆,可能是[1-2],也可能是[2-3],[3-4]...而栈只能是[1-2].如果还不明白,参考《数据结构》《Java虚拟机规范》和《算法分析》中的递归与分治.

石范亮1154JAVA中堆和栈的概念 -
井宋施15517302969 ______ 堆是先进先出,而栈是先进后处 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器.但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性.另外,栈数据可以共享,详见第3点.堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据.但缺点是,由于要在运行时动态分配内存,存取速度较慢.

石范亮1154什么是堆栈?堆栈和栈是两个不同的概念吗?还是堆和堆栈? -
井宋施15517302969 ______ 堆和栈是两个概念. 堆栈是一个很混淆的说法. 简单来说,静态变量会被定义在堆中,函数中的非常静态变量会被定义在栈中,当从函数中退出时,也就被释放掉了. 堆和栈的英文分别是HEAP和STACK. 应该根本就没有堆栈这个词.

石范亮1154堆和栈的区别 -
井宋施15517302969 ______ 前边正确 但是后一句不正确 堆可以看成是一种自己独立的元素集合

石范亮1154java中堆和栈的区别!!!! -
井宋施15517302969 ______ 栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new、newarray、anewarray和multianewarray等指令建...

石范亮1154什么是堆栈存储器 -
井宋施15517302969 ______ 堆栈不是是什么具体的存储器,都是是内存,只不过有不同的用处.就像一个柜子,你可以分成一个大柜门,另一些空间可以做成些抽屉.其实都是存储,但是可以把功能更详细的分开,各自有自己的适用场合. 内存堆栈和楼上说的数据结构...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024