当前位置: 首页 > wzjs >正文

阎良网站建设30天网站建设实录光盘云盘

阎良网站建设,30天网站建设实录光盘云盘,淘宝网页设计网站,附近手机网站建设一:引入 1.常见的基础数据存储容器有哪些?基础数据结构:数组链表mapset(树) 2.假设给你一个10亿的黑名单email,如何来进行黑名单过滤?垃圾邮件:HashMap 或者 Hash算法 白名单 3.缓存…

一:引入

1.常见的基础数据存储容器有哪些?基础数据结构:数组+链表+map+set(树)

2.假设给你一个10亿的黑名单email,如何来进行黑名单过滤?垃圾邮件:HashMap 或者 Hash算法 白名单

3.缓存相信大家都知道,但是缓存并不是百分百命中的,通常我们会根据一个id(字符串uuid)判断缓存里面有没有数据,如果没有再去数据库查询,那你有没有想过突然来了一个超级并发去查询一个缓存不存在的id怎么办?缓存击穿: 分布式锁: bitMap:

二:set数据结构

        Set是一种数据结构,它的特点是里面所存的元素是不能重复的。C++ 在Java中主要有两种实现方式: hashMap key-value Set:key

        HashSet:其内部是一个Hash表(HashMap)实现,不能保证元素的顺序。但是如过是Integer类型的其实在jdk1.8是有序的,大家可以去看看源码,Integher.HashCode返回就知道为啥了.

        TreeSet:使用元素的自然顺序进行排序,当然你也可以自己指定排序的规则。其底层是通过二叉树实现的,也就是红黑树。

三:各种容器对比

        我们到目前为止主要的容器存储结构有:

        List: 可以重复存储对象 插入的顺序和遍历的顺序是一致的 常用的实现方式:链表+数组(ArrayList,LinkedList,Vector)

        Set: 不允许重复对象 无法保证每个元素的插入和输出顺序,无序容器。 TreeSet是有序的 常用的实现方式:HashSet,TreeSet,LinkedHashSet(强行保证输出顺序和插入顺序一致,双向链表,耗费空间)

        Map:Map是键值对的形式存储,会有key+value: Map不允许出现相同的key,出现就会倍覆盖 Map主要实现方式:HashMap,HashTable,TreeMap(也是一个有序的,默认按照自然顺序,其底层结构同样是红黑树)

四:布隆过滤器

        布隆过滤器是一个非常巧妙的数据结构,在很多高并发大数据项目中都有应用,它的特点就是高效的查找和插入,他的核心一句话就是: 我告诉你不存在的那就肯定不存在,但是我告诉你存在,其实有可能存在的。嘿嘿~~ 布隆过滤器结构:它的结构和我们上节课讲的bitMap非常类似。它是由一个很长的bit数组以及k个hash函数组成。

实现的思想:

        插入:将一个插入的元素使用K个hash函数进行k次计算,将得到的Hash值所对应的bit数组下标置为1。

        查找:跟插入一样的道理,将查找的元素使用k个函数进行k次计算,将得到的值找出对应的bit数组下标,判断是否为1,如果都为1则说明这个值可能在序列中,反之肯定不在序列中。 为什么是可能在序列中呢?

        删除:非常明确的告诉你,这玩意是不支持删除的。

package tree.set布隆过滤器;import java.util.BitSet;public class BloomFilter {int size;BitSet bits; // bit数组,bitMap: long /64 %34// 00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111public BloomFilter(int size) {this.size = size;bits = new BitSet(size);}public void add(String key) {	//O(1)int hash1 = hash_1(key);int hash2 = hash_2(key);int hash3 = hash_3(key);bits.set(hash1, true);bits.set(hash2, true);bits.set(hash3, true);}public boolean find(String key) {int hash1 = hash_1(key);if (!bits.get(hash1))return false;int hash2 = hash_2(key);if (!bits.get(hash2))return false;int hash3 = hash_3(key);if (!bits.get(hash3))return false;return true;}public int hash_1(String key) {int hash = 0;int i;for (i = 0; i < key.length(); ++i) {hash = 33 * hash + key.charAt(i);}return Math.abs(hash) % size;}public int hash_2(String key) {final int p = 16777619;int hash = (int) 2166136261L;for (int i = 0; i < key.length(); i++) {hash = (hash ^ key.charAt(i)) * p;}hash += hash << 13;hash ^= hash >> 7;hash += hash << 3;hash ^= hash >> 17;hash += hash << 5;return Math.abs(hash) % size;}public int hash_3(String key) {int hash, i;for (hash = 0, i = 0; i < key.length(); ++i) {hash += key.charAt(i);hash += (hash << 10);hash ^= (hash >> 6);}hash += (hash << 3);hash ^= (hash >> 11);hash += (hash << 15);return Math.abs(hash) % size;}public static void main(String[] args) {// O(1000000000)//8bit= 1byteBloomFilter bloomFilter = new BloomFilter(Integer.MAX_VALUE);	//21亿System.out.println(bloomFilter.hash_1("1"));System.out.println(bloomFilter.hash_2("1"));System.out.println(bloomFilter.hash_3("1"));bloomFilter.add("1111");bloomFilter.add("1123");bloomFilter.add("11323");System.out.println(bloomFilter.find("1"));System.out.println(bloomFilter.find("1123"));}
}

        


文章转载自:

http://iFYsPPiv.mcsdq.cn
http://x4h7JYU9.mcsdq.cn
http://H44OJhjW.mcsdq.cn
http://0xZqk0kJ.mcsdq.cn
http://O4tDAobQ.mcsdq.cn
http://a6LtAL2Q.mcsdq.cn
http://YnMzgUaL.mcsdq.cn
http://JhB5UgMC.mcsdq.cn
http://puI4qZ6G.mcsdq.cn
http://Ilk9Gig2.mcsdq.cn
http://YJuf6rLu.mcsdq.cn
http://ceIjGuGG.mcsdq.cn
http://ArdqrfSa.mcsdq.cn
http://6MlGBbio.mcsdq.cn
http://ZETb0g27.mcsdq.cn
http://hXkaRZTi.mcsdq.cn
http://sovE2RPZ.mcsdq.cn
http://pPI0ErbA.mcsdq.cn
http://eXhrJ4IP.mcsdq.cn
http://hfZ8eWrB.mcsdq.cn
http://4Wz5vj8v.mcsdq.cn
http://ecdYZuEH.mcsdq.cn
http://pksHJVE7.mcsdq.cn
http://OinguHGJ.mcsdq.cn
http://myNBFZlI.mcsdq.cn
http://GFJCXuJi.mcsdq.cn
http://dw8zkYTz.mcsdq.cn
http://OXI9ZIs1.mcsdq.cn
http://n3RGenRr.mcsdq.cn
http://R9Ntq2hV.mcsdq.cn
http://www.dtcms.com/wzjs/621072.html

相关文章:

  • 188旅游网站管理系统6.0模板益阳市 网站建设
  • 域名可以绑定几个网站网站图片如何做超链接
  • 无需代码制作app软件北京seo运营推广
  • 网站建设工作室 怎么样用网站做淘客怎么赚钱
  • 上海做网站大的公司建设行政主管部门政务网站
  • 揭阳seo网站管理mysql 网站空间
  • 网站建设卖花网站的目的网络营销心得体会300字
  • 做建站较好的网站多语言 网站
  • 网站策划报告书怎么做wordpress编辑器 代码
  • 美食网站建设服务策划书it项目外包网
  • 内蒙古赤峰市建设局网站企业网站群建设规范
  • 做网站到八方资源网怎么样做网站全包
  • 营销型网站建设公司哪家建设seo专员工作累吗
  • 怎么使用网站程序专业团队朋友圈文案
  • 网站说明怎么写企业营销型展厅设计价目表
  • 深圳网站建设黄浦网络洛阳已经开始群体感染了
  • 鹤壁企业网站建设信誉好的福州网站建设
  • 教研网站建设方案优化网站佛山厂商
  • 去了哪找网站建设公司wordpress略缩图图片变形怎么办
  • 网站建设分工方案wordpress themeforest
  • 如何扫描一个网站的漏洞wordpress英文换成中文
  • 东南亚购物网站排名wordpress版本伪装
  • 网站案例 网站建设北京网络科技有限公司官网
  • 成都网站建设的定位长春seo优化企业网络跃升
  • 简约、时尚、高端 网站建设wordpress重置密码邮件
  • 网站怎么加代码厦门人才网个人会员
  • tp5 商城网站开发建设网站的平台
  • 米拓做网站图片在哪里删掉做网站需要会哪些知识
  • 蓝色企业网站手机版织梦模板化妆品行业的网站开发
  • 建设图书馆网站昆明学校网站建设