我需要一个LinkedBlockingQueue,但我正在向其中传递原始数据类型。我的添加速率约为4ms或每秒256个数据点。问题在于数据立即开始延迟,但随着时间的推移,JIT使其更加高效,并最终达到实时状态。我试图找出需要减少初始延迟的位置之一是在队列中的每次插入都会自动装箱创建一个Float对象。是否有人使用原始数据类型实现LinkedBlockingQueue?或者在不确定大小且使用原始数据类型时是否有比LinkedBlockingQueue更快的方法?
虽然你的数据并不足够大,不需要更好的数据结构,但Fastutil库正是你所需要的。它提供了快速、低内存占用的集合,并且针对每种Java原始类型都有相应的版本。 虽然它们没有阻塞实现,但你可以扩展它们的类来添加功能。
E
更改为float
。 - ratchet freak