当前位置: 首页 > article >正文

js中的栈(stack)和堆(heap)

什么是堆什么是栈?

程序运行时候,需要内存空间存放数据。系统划分出的两种内存空间就叫做stack(栈)和heap(堆)。

栈(stack):由操作系统自动分配内存空间,自动释放,存储的是基础变量以及一些对象的引用变量,占据固定大小的空间。

堆(heap):由操作系统动态分配的内存,大小不定也不会自动释放,一般由程序员分配释放,也可由垃圾回收机制回收(程序结束时由浏览器回收)。

堆和栈的优缺点

栈(stack):内存可以及时得到回收,数据大小与生存期必须是确定的,缺乏灵活性。

堆(heap):保存的对象不会自动释放,生存周期比较灵活。

栈(stack)堆(heap)
存储基础数据类型存储引用数据类型
按值访问按引用访问
存储的值大小固定存储的值大小不固定,可动态调整
由系统自动分配内存空间由代码进行指定分配
空间小,运行效率高空间大,运行效率相对较低
先进后出无序存储,可根据引用直接获取

http://www.kler.cn/a/158967.html

相关文章:

  • [ 网络安全介绍 3 ] 网络安全事件相关案例有哪些?
  • 直接映射4条 cacheline,每条cacheline32位数据(混乱版)
  • SpringCloud篇(服务网关 - GateWay)
  • AndroidStudio-Activity的生命周期
  • 工作时发现自己手写SQL能力很低,特此再来学习一遍SQL
  • FreeSWITCH chat 得到的是 Error! Message Not Sent
  • 1+X Web 前端开发职业技能等级证书模拟题(中级)理论知识
  • Maxwell学习笔记
  • 虚拟局域网(VLAN)解析(Virtual Local Area Network)(用于在不受物理位置限制的情况下将设备划分到同一网络或不同网络)
  • python之pyqt专栏7-信号与槽3
  • Flask项目Day1,Flask常见第三方拓展包
  • 算法通关村第十七关-青铜挑战贪心算法思想
  • JavaScript 安全的《加/解密处理》的实战--案例(二)
  • 【Java】Spring中BeanUtils.copyProperties的坑及解决
  • 单片机的基本概念——什么是单片机、单片机的分类以及单片机的发展历史、发展趋势
  • rvos 3编译与链接
  • 智能优化算法应用:基于鼠群算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 云计算在数字营销中的作用是什么?
  • 【android开发-15】android中广播broadcast用法详解
  • Hadoop学习笔记(HDP)-Part.05 Yum源配置
  • 沐风老师3DMAX键盘球建模方法详解
  • 【算法思考记录】力扣2477. 到达首都的最少油耗【Python3,深度优先搜索】
  • 数据标准化 VS 数据归一化
  • Linux 5.15安全特性之landlock
  • 形态学操作—形态学梯度
  • 编程语言分类