论坛首页 Java企业应用论坛

将HashMap文件化

浏览 11438 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-20   最后修改:2011-04-20

如果不想重造轮子的话可以考虑使用oracle的 bdb je,其collections框架提供了map的持久化实现。 其中的 com.sleepycat.collections.StoredMap 应该能满足你的需要,要注意的是je是dual licence.

 

0 请登录后投票
   发表时间:2011-04-20  
考虑一下 jdbm2
http://code.google.com/p/jdbm2/
0 请登录后投票
   发表时间:2011-04-20  
shguan2010 写道
考虑一下 jdbm2
http://code.google.com/p/jdbm2/

不错的东东
0 请登录后投票
   发表时间:2011-04-21  
lenozhi 写道
shguan2010 写道
考虑一下 jdbm2
http://code.google.com/p/jdbm2/

不错的东东

为什么不试一下derby呢?
0 请登录后投票
   发表时间:2011-04-21  
看你这个HashMap文件化,我想是否可以遍历一遍,存到sqlite中然后利用数据库寻找重复的。
java使用sqlite 就一个jar包(http://www.zentus.com/sqlitejdbc/)就行了,最后形成的也就一个文件。用完文件直接删了就行了。
0 请登录后投票
   发表时间:2011-04-21  
renwolang521 写道
看你这个HashMap文件化,我想是否可以遍历一遍,存到sqlite中然后利用数据库寻找重复的。
java使用sqlite 就一个jar包(http://www.zentus.com/sqlitejdbc/)就行了,最后形成的也就一个文件。用完文件直接删了就行了。


不错,我去试试。看看对大数据量的支持如何
0 请登录后投票
   发表时间:2011-04-21  
试用了一下jdbm-2.0.jar这个包,100万行数据插入,就是从1到100万,10行一提交。共用了38秒。使用内存14M左右,太NB。严重鄙视我提交的烂代码。
0 请登录后投票
   发表时间:2011-04-21  
bloom过滤器
0 请登录后投票
   发表时间:2011-04-21  
把那个文本作为oracle 外部表,然后用sql来排除
0 请登录后投票
   发表时间:2011-04-22  
你这行事先知道吗?
知道的话遍历一遍,把hash相同的在内存里比较不就完了?
不知道就学数据库建B+树,用file based hash空间太大,肯定不合算。其实不用那么麻烦,建张表,建个UK,然后全部insert进去不就完了?千万而已,又不是千亿,数据库吃得消。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics