java 写的布隆过滤器,空间效率挺高的,用起来也不复杂,适合在数据量一大就头疼的场景下搞定去重问题。核心思路就是用一长串的位数组配上几个哈希函数,插入元素时多个位置设 1,查的时候看对应位是不是全是 1,挺巧妙的。误判是有一点,不过基本可控,而且不会漏掉真正不存在的。用BitSet来实现位数组,写起来还挺舒服的。你还可以自己定义哈希函数,灵活度也高。压缩包里的代码结构清晰,适合直接用,也方便做二次开发。如果你要搞 HBase、Redis 或者缓存过滤那块的优化,这东西还挺合适。