1.空间分配:
栈:由操作系统自动分配操作,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。
堆:一般由程序员分配释放,如果程序员不释放,则程序结束时可能由GC机制回收,操作方式类似于链表。
2.缓存分类的区别:
栈:一级缓存,需要被调用的时候处于存储空间中,调用完毕后立即释放。
堆:二级缓存,生命周期要根据垃圾回收机制周期来决定。
3.数据结构区别:
栈:一种先进后出的数据结构
堆:可以看出一棵树
1.空间分配:
栈:由操作系统自动分配操作,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。
堆:一般由程序员分配释放,如果程序员不释放,则程序结束时可能由GC机制回收,操作方式类似于链表。
2.缓存分类的区别:
栈:一级缓存,需要被调用的时候处于存储空间中,调用完毕后立即释放。
堆:二级缓存,生命周期要根据垃圾回收机制周期来决定。
3.数据结构区别:
栈:一种先进后出的数据结构
堆:可以看出一棵树