Heap 译为"堆"或者是“堆内存”。
解释
在这里“堆”是一种特殊的树形数据结构,它满足堆的特性:父节点的值一定不大于或不小于子节点的值。堆被认为在计算机算法中起到重要作用,并被用于各种编程语言,例如c++、Java等中。
应用范围
● C++STL算法提供make_heap, push_heap和pop_heap等算法,它们作用于随机存取迭代器。它们将迭代器当做数组的引用,并用array-to-heap转换。在C++中我们可以用heap动态分配指针(new和delete)。
●在Java中堆是Java虚拟机JVM的内存数据区。Heap 的管理很复杂,每次分配不定长的内存空间,专门用来保存对象的实例。在Heap 中分配一定的内存来保存对象实例,实际上也只是保存对象实例的属性值,属性的类型和对象本身的类型标记等,并不保存对象的方法(方法是指令,保存在Stack中),在Heap 中分配一定的内存保存对象实例和对象的序列化比较类似。而对象实例在Heap 中分配好以后,需要在Stack中保存一个4字节的Heap内存地址,用来定位该对象实例在Heap 中的位置,便于找到该对象实例。