原始数组与ArrayList

DD.*_*DD. 5 java arrays arraylist

我正在接收XML并需要转换为原始数组或ArrayList.在内存和垃圾收集方面,性能方面有很大差异吗?我的应用程序将每秒创建数千个这些对象,我需要最小化GC,因为我需要实时性能.

Thxs

Sea*_*oyd 5

原始数组效率更高,因为它们不需要包装器对象.Guava具有由原始数组支持的List实现(例如Ints.asList(int[]):),这可能是一个合理的解决方案:获得集合的强大功能,但只在实际需要时才使用Objects.

  • "_但不是每个数组元素一个" - ArrayList没有这样的每元素对象开销.我相信它们与原始数组一样具有空间效率(顺便说一句,它们也是包含连续的引用块和计数的包装对象). (3认同)