有人可以帮助我理解我读到的与低延迟编程相关的以下陈述:
尽量减少您拥有的对象数量。例如,更喜欢基于数组的结构(如ArrayList / ArrayDeque)到基于指针的结构(如LinkedList)。
我知道arraylist可能在碎片堆中表现更好;但从未意识到它涉及更少的对象。
相反,我知道arraylist实际上需要创建比实际需要更多的对象。
答案 0 :(得分:3)
LinkedList
使用Node
对象来包装您添加到其中的每个元素。因此,如果向LinkedList
添加10个对象,实际上还需要另外10个对象来保存它们。
虽然ArrayList
会根据添加和删除不时重新生成其支持数组,但它只需要一个支持数组对象来保存您添加到它的所有对象。
垃圾收集和对象创建并不总是可以忽略不计。