Wikipedia on Heap列出了堆的许多实现。我在想Java对堆使用什么实现?是否由JVM供应商决定,或者在JVM规范中指定应使用什么实现?
daupos2t1#
都不是。你引用的Wiki条目中的堆是一个基于二叉树的排序数据结构。JVM使用的堆是一个动态内存区域。Wiki-type是由java.util.Heap实现的,而不是由JVM的堆实现的。我知道这很混乱,但它就是这样。注意Wiki条目的顶部有一个消除歧义的注解。
jdzmm42g2#
堆类型由JVM实现者决定。堆的JVM规范没有指明所需或首选的堆类型。
2条答案
按热度按时间daupos2t1#
都不是。你引用的Wiki条目中的堆是一个基于二叉树的排序数据结构。JVM使用的堆是一个动态内存区域。Wiki-type是由java.util.Heap实现的,而不是由JVM的堆实现的。我知道这很混乱,但它就是这样。注意Wiki条目的顶部有一个消除歧义的注解。
jdzmm42g2#
堆类型由JVM实现者决定。堆的JVM规范没有指明所需或首选的堆类型。