fre*_*tar 6 java performance hashset
我HashSet基于它理解HashMap,因为它们非常相似.它使代码更加灵活,并最大限度地减少了实施工作量.但是,Entry如果类禁止null元素,HashSet中的一个引用变量对我来说似乎是不必要的,因此整个Entry没有任何意义.尽管如此,Entry如果我的数字是正确的,则需要24字节的内存/元素,而具有集合元素的单个数组将只需要4字节/元素.(除了数组的标题)
如果我的观点是正确的,那么这种表现的优势真的会超重吗?
(如果我错了,我会从中学习)
虽然这个问题主要是基于意见的,但我将总结有关该主题的几点:
HashSet很多年前就出现在Java 1.2中。现在很难猜测当时做出的设计决策的确切原因,但显然 Java 不用于高负载应用程序;性能的作用不如简单性的作用。HashSet它的内存消耗不是最优的。该问题已知,错误JDK-6624565已注册,并且core-libs-dev上不时举行讨论。但这是许多现实世界应用程序的障碍吗?也许,不。HashSet内存使用不可接受的不常见应用程序,已经有很好的替代方案,例如 trove THashSet。| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |