对于其中一个用例,我想存储大约900,000个客户号码以进行改组。它将有2列-一个原始客户编号,另一列是洗牌的客户编号。
使用Java最好的方法是什么,这样我就不会出现内存异常或GC开销?
谢谢。
答案 0 :(得分:0)
如果一个数字只有4个字节,那么存储900k个数字并不多。如果超出堆,您还可以使用Increase heap size in Java增加堆大小。
如果数据增长并且需要大量空间,则可以使用堆外数据结构,例如http://www.mapdb.org/。它们提供了List或Set或Map接口的实现,但将一些数据保存到磁盘而不是堆中。