读书人

JAVA雅量数据处理之二(BitMap)

发布时间: 2012-09-10 22:20:12 作者: rapoo

JAVA海量数据处理之二(BitMap)

import java.util.TreeSet;public class Test { public static void main(String[] args) { TreeSet set = new TreeSet(); for(long i=10000000000L;i<900000000000L;i++){ set.add(i); System.out.println("i="+i); } }}?

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space?

1024 个字节 =1KB , 1024KB=1MB , 1024MB=1GB

import java.util.BitSet;public class BitTest { public static void main(String[] args) { // 1 3 6 10 100 BitSet bitSet = new BitSet(100); bitSet.set(1,true); bitSet.set(3,true); bitSet.set(6,true); bitSet.set(100,true); for(int i=0;i<bitSet.size();i++){ boolean b = bitSet.get(i); if(b){ System.out.println(i); } } }}?

* 371M 的文件( 3000 万的数据) 过滤数据耗时 : 27375 毫秒 * 520M 的文件( 4200 万的数据) 过滤数据耗时 : 62000 毫秒

?其中把4200万的数据用BitSet操作耗时约20-30秒,写入目标文件约30秒。所以1分钟可以搞定4200万的数据。效率已经得到了极大的提高。

?

?

?

?

?

?

?

读书人网 >编程

热点推荐