读书人

内存优化有关问题

发布时间: 2013-09-22 09:32:58 作者: rapoo

内存优化问题
我有一个hashmap
key是从key1到key200000,
而每一个key对应的value一个是1到10000的中随机的30个数字,不重复,
比如这样:

key1:数组[1,2,3,....30]
key2:数组[2,4,5,6,9,100,33 共30个数字]

前提是我现在要查询是通过key来找那个数组

现在的vaule应该是重复存储,有没有办法不怎么降低查询速度的情况下

降低存储需要的空间,请各位支招,谢谢!

[解决办法]
使用享元模式
[解决办法]

引用:
使用享元模式 意欲和解?


欲知详情,请参考设计模式之享元模式
[解决办法]
注意能被垃圾回收就可以了吧 储存空间...现在系统应该很少在乎这个
[解决办法]
引用:
注意能被垃圾回收就可以了吧 储存空间...现在系统应该很少在乎这个
嗯关键是不能使得 没用的资源占着不能被当做垃圾收回,你的程序内存就很容易泄露了(heap over)
[解决办法]
随机数据本身没有办法压缩了,使用short可以改善单个数据的占用,但是不能从根本上解决问题。
建议使用key-value型的内存数据库,如berkeley db,或者SQLite之类的嵌入式数据库。
如果对性能要求不高,也可以考虑利用memory-mapping file自己构建一个工具。

最好是使用key-value型的内存数据库,我自己就是这么处理的。

读书人网 >J2SE开发

热点推荐