浅谈JAVA堆栈
堆和栈都是一种数据项按序排列的数据结构
数据结构中的堆栈
栈和堆都是一种数据结构
栈在数据结构中更像是一个杯子,你在往里面倒水时,就类似于往里面存放值,但是在倒出杯子中的水时,上面的水(之后存放的值)被先倒了出来,下面的水(之前存放的值),这就是栈的一个特点---------LIFO(后进先出),后面存放的值先被调用。
堆在数据结构中则像一颗倒立的大树,堆是一种经过排序的树形数据结构,每个结点都有一个值,通常所说的二叉堆指的就是堆的数据结构。堆相对于栈来说,显得更加的随意,对于数据的存放和提取没有像栈一样有特别的限制,对于堆中的数据的存取是随意的,类似于你在一个书架前看书,虽然书是有顺序的整齐摆放,但是你想看哪本书就可以直接拿哪本书,并不需要将前面的书都拿出来,这是与栈不同的。
Java中的栈和堆
栈中存放这基本数据类型的值,这些值的内存分配都在栈中
堆中则存放着所有引用数据类型的值,例如在实例化一个对象时,在栈内存中会分配该对象在堆中的地址信息,而在堆中才是真正存放值的地方
这是本人在接触了几天面向对象时对栈和堆的理解,如有错误或者不足之处,还希望指出。
虽然不足之处是肯定有的hhhhha