失效链接处理 |
什么是堆和栈 PDF 下载
本站整理下载:
相关截图:
![]()
主要内容:
栈和堆
栈:管程序如何运行的,程序如何执行,如何处理数据。(局部变量其实也是存在栈中的,引用数据
类型在栈中存的是地址引用)(栈的空间就不需要那么大了)
堆:管数据存储的。(引用数据类型的存放,所以堆的空间是比较大的)
生活中的理解
是不是很形象?哈哈
栈的作用
主管Java程序的运行,它保存方法的局部变量(8种基本数据类型、对象的引用地址)、部分中间的结
果,并参与方法的调用和返回。我们先粗粒度感受一个栈的结构:
每个线程都有自己的栈,栈中的数据都是以栈帧(stack Frame)的格式为基本单位进行存储的。(栈
中保存的就是一个个栈帧)
在这个线程上正在执行的每个方法都各自对应一个栈帧。方法和栈帧一一对应,一个方法的执行会
伴随这栈帧入栈,一个方法的结束会拌嘴栈帧的出栈)
栈中是否存在垃圾回收
不存在,栈中就是入栈出栈。
假如底层用数组实现的话,其实就是移动下标的。
模拟栈结构C语言代码:(栈用数组实现) https://www.jb51.net/article/69375.htm 栈和队列,是操
作受限制的线性表,既然是线性表,那么你用顺序表,链表都可以实现。堆:利用完全二叉树的结构来
维护一组数据
|