为什么要设计堆栈,它有什么独特的用途?

[复制链接]
查看11 | 回复1 | 2016-12-2 01:10:36 | 显示全部楼层 |阅读模式
设计原因有两点:⑴栈的存取速度特别快,仅次于寄存器。当程序要在内存中读写数据时,先找到栈,再通过栈的指向到堆内存中进行数据的读写。由于不用再遍历速度慢而且数据多的堆内存,所以程序的运行速度会更快。⑵便于内存的回收。当程序的一些数据不用后,就会丢掉栈内存中相应的数据,此时以前指向的堆内存空间就没有了栈的指向,变成了垃圾。这时Java虚拟机的垃圾回收机制就会将这块没有栈指向的堆内存空间回收,供给以后的程序使用。堆栈的用途主要是调用子程序时暂存断点地址和保护(恢复)现场数据。堆栈是一种存储部件,即数据的写入跟读出不需要提供地址,而是根据写入的顺序决定读出的顺序。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行