超级位图Roaring BitMap

基本概念

Roaring BitMap 以下简称 RBM,中文翻译为咆哮位图,它本质上是定义了一个很大的 bit 数组,每个元素对应到 bit 数组的其中一位,一个Integer是32-bit, 一共有Integer.MAX_VALUE = 2 ^ 32个值,32-bit的unsigned integer的集合(共2 ^ 32 = 42 9496 7296个)
这个数足够覆盖一款产品的user数或item数(item 泛指是新闻,商品等)
由定义可知,其去重是针对int 型数据进行操作,对于非Integer类型的数据(比如String类型)可以通过数据字典映射成Integer,比如数据库的ID

先来明确下Bit  Byte区别
bit(位/比特):计算机运算的基础单位;
byte(字节):计算机中文件大小的基本计量单位。

转换关系:
8 bit = 1 Byte
1024 Byte = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
1024 GB = 1 TB

未完待续······

参考:https://www.jianshu.com/p/b09bb3e7652e

bit(位/比特):计算机运算的基础单位;
byte(字节):计算机中文件大小的基本计量单位。

转换关系:
8 bit = 1 Byte
1024 Byte = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
1024 GB = 1 TB

未完待续······

参考:https://www.jianshu.com/p/b09bb3e7652e

猜你喜欢

转载自www.cnblogs.com/amberJava/p/12514775.html