java - 使用列表的低延迟

标签 java collections

谁能帮我理解我读到的关于低延迟编程的以下陈述:

尽量减少您拥有的对象数量。例如,比起 LinkedList 等基于指针的结构,更喜欢 ArrayList/ArrayDeque 等基于数组的结构。

我知道数组列表在碎片堆中可能表现更好;但从未意识到它涉及的对象更少。
相反,我知道 arraylist 实际上需要创建比实际需要更多的对象。

最佳答案

LinkedList 使用Node 对象来包装您添加到其中的每个元素。因此,如果您将 10 个对象添加到 LinkedList,您实际上还需要另外 10 个对象来容纳它们。

虽然 ArrayList 会根据添加和删除不时地重新生成其支持数组,但它只需要一个支持数组对象来保存您添加到它的所有对象。

垃圾收集和对象创建并不总是可以忽略不计。

关于java - 使用列表的低延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20455358/

相关文章:

java - 一个值类可以有两个 compareTo 方法吗?

java - 为什么 java.util.Collection.remove() 返回一个 boolean 值?

ios - UICollectionView 索引

Java Util SQL Parser 为正确的语句抛出异常

java - 了解Spring-WS

java - Java中堆栈行为的最佳类是什么

java - 一个并发集合位于另一个集合中 : is it thread safe

Java:防止 Socket DataInputStream 抛出 EOFException

java - 如何解决 java.net.MalformedURLException : no protocol:?

java - OneToMany 注释列表中的重复项