一直有个疑问,《数据结构》中谈到的堆与“内存分配”技术中讨论的“堆”,有关系吗?
简单的说,“没有关系”,分析如下:
《数据结构》是一个学科分类,它里面讨论的是数据结构在“逻辑”上的保存和处理形式。具体到哪台计算机,哪个操作系统实现方法是不同的。
“内存分配中”技术讨论的一个计算机系统平台,一个OS中,一个语言里实实在在内存单元的使用方式。
《数据结构》中谈的“堆”,是一棵树结构,特征是:它的根结构要大于等于所有子结点
内存分配技术中“堆”是表示一个内存区,这个内存区要用使用者申请和释放,可以多线程共享。
而“栈”也是一个内存区,这个栈区,的使用方式确实使用了《数据结构》中栈的操作方式。