永发信息网

VB里面的堆栈是什么意思啊?我怎么看不懂

答案:3  悬赏:60  手机版
解决时间 2021-11-19 19:48
VB里面的堆栈是什么意思啊?我怎么看不懂
最佳答案
这不用你懂,它是电脑在计算复杂的计算时,采用在内存中开辟临时内存空间,用来盛放产生的中间数,由电脑自动自成的。
全部回答
VB没有堆栈的概念,大多数高级语言都没有,只有汇编才会提到堆栈。
可以将栈想象成一堆从顶向下堆叠的盒子。当每调用一次方法时,我们将应用程序中所要发生的事情记录在栈顶的一个盒子中,而我们每次只能够使用栈顶的那个盒子。当我们栈顶的盒子被使用完之后,或者说方法执行完毕之后,我们将抛开这个盒子然后继续使用栈顶上的新盒子。

堆的工作原理比较相似,但大多数时候堆用作保存信息而非保存执行路径,因此堆能够在任意时间被访问。与栈相比堆没有任何访问限制,堆就像床上的旧衣服,我们并没有花时间去整理,那是因为可以随时找到一件我们需要的衣服,而栈就像储物柜里堆叠的鞋盒,我们只能从最顶层的盒子开始取,直到发现那只合适的。

栈是自行维护的,也就是说内存自动维护栈,当栈顶的盒子不再被使用,它将被抛出。相反的,堆需要考虑垃圾回收,垃圾回收用于保持堆的整洁性,没有人愿意看到周围都是赃衣服,那简直太臭了!

当我们的代码执行的时候,栈和堆中主要放置了四种类型的数据:值类型(Value Type),引用类型(Reference Type),指针(Pointer),指令(Instruction)。

这里有一条黄金规则:

1. 引用类型总是放在堆中。(够简单的吧?)

2. 值类型和指针总是放在它们被声明的地方。(这条稍微复杂点,需要知道栈是如何工作的,然后才能断定是在哪儿被声明的。)

栈是负责保存我们的代码执行(或调用)时的路径。当我们的代码开始调用一个方法时,将放置一段编码指令(在方法中)到栈上,紧接着放置方法的参数,然后代码执行到方法中的被“压栈”至栈顶的变量位置。

详细资料必须参考相关书籍。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
疑固哪一 个字错了?
汽车一键启动按一下到acc档之后 怎么关闭
徐水2路公交车最早是1987年有的对吗
pp模块中的工程设计bom和生产bom有什么区别
Q235的许用应力范围是多少?
ps里Lab通道的a和b是什么意思L是指明度,那么
三十一减二x等于五点六怎么做
附近的好丽来店在哪
古人如何看待女人胸部
一首老歌,唱关于童年的,叫什么。
HP6930p重装7的系统后没声音输出呀 声频驱动
阴历哪些日子夫妻应该禁止房事
自制永磁发电机的转速应该多少合适!
梦里哭得很伤心,醒来时还在流泪呢~
句容市天王镇中心小学地址在什么地方,我要处
推荐资讯
宝宝视力发育不好吃什么好
七座汽车年检多少钱
金所至昆明约有多少公里
装了oracle 11G ,在dos中可以进行连接,在可
澹的拼音是
十进制转十六进制的余数是什么意思
马自达 cx5 2.0和2.5开起来有什么实质性区别?
在陕西阎良能看到运20、歼-15、歼-20试飞吗?
为什么OKEX上线了USDC这种稳定币?
大家觉得一男生对我说这句是几个意思: 你真
我相信这个世界上有鬼,我相信人死了有魂魄,
山东航空怎么样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?