定义 栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据时,从栈顶开始逐个读出。栈在汇编语言程序中,经常用于重要数据的现场保护。栈中没有数据时,称为空栈。 模拟实现 clas ...
分类:
编程语言 时间:
2020-08-29 15:22:49
阅读次数:
61
栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。栈内存的更新速度很快,因为局部变量的生 ...
分类:
编程语言 时间:
2020-08-06 17:10:24
阅读次数:
77
阅读目录 栈 stack 队列 链表 数组 字典实现原理 NSDictionary 树 B-tree/B+tree 栈 stack 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,把另一端称为栈底。向一个栈插入新元素又称作 进栈、入栈或压 ...
分类:
其他好文 时间:
2020-08-06 16:59:20
阅读次数:
67
@ 前言 在最开始讲解JVM内存结构的时候有简单分析过方法的执行原理——每一次方法调用都会生成一个栈帧并压入栈中,方法链的执行就是一个个栈帧弹出栈的过程,本篇就从字节码层面详细分析方法的调用细节。 正文 解析 Java中方法的调用对应字节码有5条指令: invokestatic:用于调用静态方法。 ...
分类:
其他好文 时间:
2020-08-06 00:56:51
阅读次数:
87
最近我在学习JavaScript的过程中,对JavaScript的内存机制深感疑惑,所以查阅了一些资料和博客。将我了解到的分享出来,本人才疏学浅,希望有什么表述有误的地方,望指点一二。 JavaScript 的内存模型:调用栈和堆 栈(stack)是有结构的,每个区块按照一定次序存放(后进先出),栈 ...
分类:
编程语言 时间:
2020-07-28 22:08:06
阅读次数:
83
1、在小程序中所有页面的路由全部由框架进行管理,框架以栈的形式维护当前的所有页面,当发生路由切换的时候,页面栈的表现如下: 路由方式页面栈表现 初始化 新页面入栈 打开新页面 新页面入栈 页面重定向 当前页面出栈,新页面入栈 页面返回 页面不断出栈,直到目标返回页 Tab 切换 页面全部出栈,只留下 ...
分类:
微信 时间:
2020-07-28 00:05:36
阅读次数:
109
单链表介绍 单链表(带头结点)逻辑结构示意图如下: 链表是有序的列表,但是它在内存中是存储如下所示(真实存储结构): (1)链表是以节点的方式来存储 (2)每个节点包含data域,next域:指向下一个节点。 (3)如图:发现链表的各个节点不一定是连续存储。 (4)链表分带头节点的链表和没有头节点的 ...
分类:
其他好文 时间:
2020-07-22 20:09:13
阅读次数:
69
Go基本语句及相关流控语句和函数包及错误处理和容器介绍
分类:
编程语言 时间:
2020-07-20 18:36:18
阅读次数:
84