zoukankan      html  css  js  c++  java
  • 超级位图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

    ==========================================================================           如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行
    ==========================================================================
  • 相关阅读:
    python基础--模块&包
    服务启动项 Start类型详解
    安全测试
    Dos命令之Netsh
    句柄(Handle)
    共享内存(shared memory)
    linux下查找文件、排序、查看文件内容
    Http协议详解
    Eclipse中搭建Python开发环境
    批处理[Batch]
  • 原文地址:https://www.cnblogs.com/amberJava/p/12514775.html
Copyright © 2011-2022 走看看