首页 >>  正文

堆和栈的定义

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

闻胖嵇1051什么叫堆栈 -
浦科甘17039652112 ______ 堆和栈是两个不同的概念.堆(heap)上分配的内存,系统不释放,而且是动态分配的.栈(stack)上分配的内存系统会自动释放,它是静态分配的.运行时栈叫堆栈.栈的分配是从内存的高地址向低地址分配的,而堆则相反.由malloc或new...

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

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

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

闻胖嵇1051如何理解java的堆内存和栈内存?
浦科甘17039652112 ______ 堆和栈是虚拟出的概念他们在内存中都只是一块区域,只是他们的存取规则被人为的限制了,一般来说 把类似指针的地址数据放在同一块内存区域这块区域遵守栈的存取规则我们就称之为栈 然后把主要的数据放在同一块内存区域并遵守堆的存取规则 我们称之为堆 其实他们物理上都是一样的东西 只是我们附加上了一些概念 最后之所以这么做 是为了优化存取速度

闻胖嵇1051什么是堆栈?
浦科甘17039652112 ______ 什么是堆栈在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构.要点:堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内...

闻胖嵇1051C#中堆栈和堆是什么? 遍历又是什么,有什么用处.
浦科甘17039652112 ______ 个人见解,供参考 数据结构方面的堆和栈,这里的堆实际上指的就是(满足堆性质的)优先队列的一种数据结构,第1个元素有最高的优先权;栈实际上就是满足后进先出的性质的数学或数据结构. 遍历就是按照一定的顺序,从头到尾将存储的...

闻胖嵇1051java 中的堆栈是什么 -
浦科甘17039652112 ______ 首先堆栈是计算机为程序分配的内存空间,用来存储数据的. 在java中因为我们不直接操作内存,所以并不需要考虑指针的问题 在java中堆和栈也是用来存储数据,其中栈存储的引用,堆存储的对象 如:Student s = new Student("张三"); s在栈中 张三在堆

闻胖嵇1051什么是栈?在C中怎样体现? -
浦科甘17039652112 ______ 由于"栈" 往往和"堆栈"联系在一起,所以我就一起解释这两个概念: 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在...

闻胖嵇1051c++堆栈的各自大小,堆和栈的各自定义
浦科甘17039652112 ______ 这里的堆和栈不仅仅是按照数据结构里的堆和栈来理解,更倾向于表示两种不同作用的内存区域. 栈是有编译器来管理的,具体的大小可能根据编译器不同而异,编译器也可以手动设置栈的大小,通常有1M和2M的,比如在你定义变量时,由编译器将变量压栈,作用域结束,编译器控制变量出栈,程序员不能很直接的操作栈. 堆内存是向系统申请的内存,由程序员管理的,你new或者malloc时系统正常情况下回给你一块堆内存空间,你爱什么时候存数据都行,想存什么就存什么,想什么时候释放(delete,free)都可以.堆的大小没有什么具体数值,看机器的运行状况,配置状况而定.

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