作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读演示文稿 "Building memory efficient Java applications" ,并在幻灯片 11 上看到他们问了一个问题:“一个典型的堆中有多少 Activity 集合?”
答案是一万到几百万。
我会非常谦虚地说,我不知道从哪里开始问这个问题。
什么是现场 Collection 与“非现场 Collection ”?通过集合,它们是指 java.util.collections 吗?
集合存在于堆中吗?我想因为它们没有分配在堆栈上,所以只剩下堆。
有 10k 到数百万个集合存在于堆上的启示意味着什么?我只能假设这是一件坏事。
最佳答案
是的,他们指的是 java.util
集合。 (他们详细介绍了每种集合类型——HashSet
、ArrayList
等等——是的。)
集合确实存在于堆中,但是一旦它们可以被垃圾收集——一旦它们不被正在运行的应用程序引用——它们就不会被认为是“活的”。
堆上有大量集合并不是坏事——它只是表明集合被如此频繁地使用以保证更仔细地观察集合实现,尤其是它们的内存效率。 (人们广泛使用好的抽象可以说是一件好事!)
他们几乎肯定不会只谈论一个应用程序——坦率地说,我假设他们采用了许多实际应用程序并对这些应用程序进行了分析。
关于java - 解释琐事 : How many live collections are in a typical heap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9105189/
我是一名优秀的程序员,十分优秀!