首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解释这些琐事:一个典型的堆中有多少个实时集合?

解释这些琐事:一个典型的堆中有多少个实时集合?
EN

Stack Overflow用户
提问于 2012-02-02 07:52:58
回答 3查看 139关注 0票数 2

我正在通读演示文稿"Building memory efficient Java applications",并在幻灯片11上看到他们问了一个问题:“一个典型的堆中有多少个实时集合?”

答案是10k到数百万。

我会非常谦虚地说,我不知道从哪里开始这个问题。

什么是实时集合与“非实时集合”?所谓集合,是指java.util.collections吗?

集合是否存在于堆中?我想,因为它们不是在堆栈上分配的,所以只剩下堆。

堆上有10k到数百万个集合,这一发现暗示了什么?我只能假设这是一件坏事。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-02 08:06:28

是的,他们指的是java.util集合。(它们详细介绍了每种集合类型-- HashSetArrayList等等--所以是的。)

集合确实存在于堆上,但是一旦它们可以被垃圾收集--一旦它们不被运行的应用程序引用--它们就不被认为是“活动的”。

堆上有大量的集合并不是一件坏事--这只是表明集合被频繁使用,因此需要更仔细地查看集合实现,特别是它们的内存效率。(人们广泛使用好的抽象概念可以说是一件好事!)

几乎可以肯定的是,他们谈论的不仅仅是一个应用程序--坦率地说,我假设他们采用了许多现实世界的应用程序,并对这些应用程序进行了分析。

票数 2
EN

Stack Overflow用户

发布于 2012-02-02 08:09:08

Live意味着仍然有对它们的引用。也就是说,它们不符合垃圾收集的条件。由于演示是关于内存效率的,我猜他们的意思是集合(是的,java.util.Set/List/等)是常用的,从内存的角度来看,选择正确的集合很重要。

票数 0
EN

Stack Overflow用户

发布于 2012-02-02 07:59:43

他们在谈论他们的特定应用程序,你的应用程序可能有任意数量的集合,如果你不使用任何集合,甚至是零。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9105189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档