谁能帮我理解我读到的关于低延迟编程的以下陈述:
尽量减少您拥有的对象数量。例如,比起 LinkedList 等基于指针的结构,更喜欢 ArrayList/ArrayDeque 等基于数组的结构。
我知道数组列表在碎片堆中可能表现更好;但从未意识到它涉及的对象更少。
相反,我知道 arraylist 实际上需要创建比实际需要更多的对象。
最佳答案
LinkedList
使用Node
对象来包装您添加到其中的每个元素。因此,如果您将 10 个对象添加到 LinkedList
,您实际上还需要另外 10 个对象来容纳它们。
虽然 ArrayList
会根据添加和删除不时地重新生成其支持数组,但它只需要一个支持数组对象来保存您添加到它的所有对象。
垃圾收集和对象创建并不总是可以忽略不计。
关于java - 使用列表的低延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20455358/