Gur*_*epS 4 java collections performance scalability
如果一个集合(如arraylist)将存储数千个自定义对象(例如具有多个属性的Person),那么在我的代码或集合的构造函数中可以做任何事情来为这样一个大集合做准备.
我并不是在考虑专用线程等,而是更多地考虑了负载因素(在上述场景中我是否需要触摸它?).
谢谢
ath*_*spk 11
一种不同的方法:
既然我们正在谈论这样一个巨大的集合,那就是"吃掉"你的RAM,
我认为你应该考虑将这个集合存储在一个数据库中,并且只在你必须的时候进行读/写/更新.
你可以做:
new ArrayList<T>(10000);
Run Code Online (Sandbox Code Playgroud)
它预先分配具有指定大小(例如10000)的数组,以便在添加元素时不必重新分配.除此之外,你无能为力.此外 - 它与ArrayList存储的是什么类型的引用无关,因此信息无法真正帮助您进行优化.
我只是将集合初始化为接近最终大小的大小,以便最小化调整次数:
List<Person> persons = new ArrayList<Person>(1024);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1191 次 |
| 最近记录: |