美文网首页
BitSet简介

BitSet简介

作者: 瓢鳍小虾虎 | 来源:发表于2021-08-16 17:25 被阅读0次

    基本原理和用途
    BitSet即位图,是一个很长的“0/1”序列,他的功能就是存储0或者1。

    他的这个特点使得在java环境中存储一个数要比直接存一个int节省很多内存空间(一个int占4个字节32位,而用BItSet“存放”一个数只需要1个位)。

    比如我们有{1,3,5,7}需要存放,内存中占用了4个int的长度即32*4(bit),如果使用BitSet,就是这个样的[...,1,0,1,0,1,0,1],只需要占用几个bit就可以表示。1个G的内存有8 * 1024 * 1024 * 1024 = 8.58 * 10^9个bit,也就是可以存放85亿+个数。

    BitSet的初始大小为1个long的大小,即8字节64个bit。如果我们创建的BitSet指定了位数,系统会根据情况取成64的整数倍个bit,即整数个long的位数,这样做是为了内存补齐。

    BitSet适合用于无重复,整数,常用于大数据场景或者日志统计。

    参考文章:
    Java中BitSet的使用及详解

    相关文章

      网友评论

          本文标题:BitSet简介

          本文链接:https://www.haomeiwen.com/subject/eafevltx.html