Java编程中的内存效率与设计契约实践
一、内存效率相关内容
在软件开发中,内存效率是一个重要的考量因素。下面我们将探讨一些与内存效率相关的练习以及相关的概念。
(一)练习内容
- HashMultiset类分析
- Google Guava库中的
Multiset接口有多种实现,其中HashMultiset类是一个具体实现。我们需要查看其源代码并回答两个问题:- 其
add和count方法的时间复杂度是多少? - 该类是针对空间、时间还是两者的折衷进行优化的?
- 其
- 从
HashMultiset类的源代码可知,它继承自AbstractMapBasedMultiset,内部使用HashMap来存储元素及其出现次数。由于HashMap的基本方法具有常数时间复杂度,所以HashMultiset的add和count方法也具有常数时间复杂度。同时,HashMultiset类是针对时间效率进行优化的,因为它像HashSet一样,以牺牲内存占用为代价来提高时间效率。
- Google Guava库中的
超级会员免费看
订阅专栏 解锁全文
804

被折叠的 条评论
为什么被折叠?



