布隆过滤器原理以及应用_bitmap与布隆过滤器

布隆过滤器原理以及应用_bitmap与布隆过滤器1.先说下背景,肯定遇到这种情况,判断元素在不在一个集合里面,如果,集合里面的元素非常大,这个判断过程是非常耗时的,而且集合占用空间也很大。2.应用场景,网页黑名单,垃圾邮件过滤,电话黑名单,url去重,内容推荐等。3.原理:布隆过滤器实际上就是一个字节数组,字节数组的值是0或1,在添加元素的时候,对值通过多个hash函数的计算,得到多个0,1然后在字节数组里面在相应的位置设置值。这样处理…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1.先说下背景,肯定遇到这种情况,判断元素在不在一个集合里面,如果,集合里面的元素非常大,这个判断过程是非常耗时的,而且集合占用空间也很大。

2.应用场景,网页黑名单,垃圾邮件过滤,电话黑名单,url去重,内容推荐等。

3.原理:布隆过滤器实际上就是一个字节数组,字节数组的值是0或1,在添加元素的时候,对值通过多个hash函数的计算,得到多个0,1然后在字节数组里面在相应的位置设置值。这样处理完所有的值之后,一个完整的布隆过滤器就完成了。之后就进入应用阶段了,判断值在不在布隆过滤器里面了,如果新输出的对象是之前处理放在布隆过滤器里面的,那就一定是存在,因为两次计算得到的hash值是一样的,肯定在,那对于新的对象了,这时就有可能会出现误杀了,新的值的hash值可能与老的值hash一样,于是布隆过滤器就认为,这个值是黑名单里的了,会造成误杀的结果。相当于就是宁愿杀错一k,不愿放过一个。

4.改进:通常误杀的话,可以通过两个方法去补救,再建立一个白名单,从布隆器本身去优化,降低误杀率。

5.再举例,头条给你推荐内容的时候,肯定要去查询一个的你的历史阅读记录,你看过的内容,一定是存在你的记录中的,新内容会有很小的机率认为是你之前看过的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184884.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA获取服务器上文件路径,java 获取远程服务器目录的路径

    JAVA获取服务器上文件路径,java 获取远程服务器目录的路径java获取远程服务器目录的路径内容精选换一换已将所需升级的鲲鹏性能分析工具的软件包下载到本地。获取软件包后,需要校验软件包,确保与网站上的原始软件包一致,详细步骤请参见软件包校验。获取软件包后,需要校验软件包,确保与网站上的原始软件包一致,详细步骤请参见软件包校验。升级前请确认鲲鹏性能分析工具可以正常使用。升级前请确认安装空间至少保留原工具安装目录的大小加上新版本安装空间(1GB)为加强对系…

    2022年7月11日
    59
  • Java 认证考试 OCAJP 经验总结

    Java 认证考试 OCAJP 经验总结1. 考证、认证是否有用含金量的话题关于认证考试(无论什么认证)是否有用?这个话题无论是在哪里都有人问。这个问题就好比上大学是否有用吗一样,有的人没上过大学一样年薪百万。认证这种东西需要的时候即有用,不需要的时候就没用。有,并没有什么坏处。说实话个人感觉这证件没什么大用。而自己想考的理由完全是想自我check下,逼自己复习学习基础。如果你是刚毕业的GH或者在校的,手里有些零花钱的可以考虑下,…

    2022年7月8日
    27
  • java嵌套条件运算符_java条件运算符的嵌套使用「建议收藏」

    java嵌套条件运算符_java条件运算符的嵌套使用「建议收藏」对于java条件运算符的嵌套使用你熟悉吗?下面要给大家带来的就是和这方面有关的编程题,一起来了解一下。一、题目学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示注:利用条件运算符的嵌套来完成这道题目二、思路(a>b)?a:b这是条件运算符的基本例子三、代码实现publicclassProg5{publicstaticvoidmain(Strin…

    2022年9月28日
    0
  • 深度学习(五)学习率的调节

    深度学习(五)学习率的调节   学习率对于深度学习是一个重要的超参数,它控制着基于损失梯度调整神经网络权值的速度,大多数优化算法(SGD、RMSprop、Adam)对其都有所涉及。学习率越小,损失梯度下降的速度越慢,收敛的时间更长,如公式所示:new_weight=existing_weight—learning_rate*gradient(新权值=当前权值–学习率×梯度)    如果学习…

    2022年5月20日
    83
  • Activiti7的El表达式的坑 com.fasterxml.jackson.databind.node.IntNode to class java.lang.Long (incompatible

    Activiti7的El表达式的坑 com.fasterxml.jackson.databind.node.IntNode to class java.lang.Long (incompatible///网关标准金额Assigneevariables.put(Assignee_standardMoney,”1000″);<sequenceFlowid=”_12″sourceRef=”_5″targetRef=”_6″><conditionExpressionxsi:type=”tFormalExpression”><![CDATA[${amountOfMoney<‘1000’}]]></condition.

    2022年7月28日
    3
  • CString转int

    int转CString就不细说了,使用format即可,这里简单介绍下CString转int的一种简便方法CStringstrNum("100");intnum;//ANSInum=atoi(strNum);num=_ttoi(strNum);//UNICODEnum=atoi(CT2A(strNum.Getbuff()));num=_ttoi(…

    2022年4月4日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号