深圳幻海软件技术有限公司 欢迎您!

  • 【哈希的模拟实现】

    文章目录1哈希概念2哈希冲突2.1直接定址法(常用)2.2除留余数法(常用)2.3平方取中法2.4折叠法2.5随机数法2.6数学分析法3闭散列3.1线性探测3.2二次探测4开散列4.1开散列概念4.2哈希桶的模拟实现4.3开散列与闭散列的比较1哈希概念顺序结构以及平衡树中,元素关键码与其存储位置之间

  • 一致性哈希算法原理详解

    一、普通hash算法(取模算法):        在了解一致性哈希算法之前,我们先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来

  • 哈希表(HashTable)

    哈希表哈希表:也叫做散列表。是根据关键字和值(Key-Value)直接进行访问的数据结构。也就是说,它通过关键字key和一个映射函数Hash(key)计算出对应的值value,然后把键值对映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数(散列函数),用于存放记录的数组叫做哈希

  • C++哈希-使用/模拟/封装

    C++哈希-使用/模拟/封装零、前言一、unordered系列关联式容器1、unordered_map介绍及使用2、unordered_set的介绍及使用3、性能比较二、哈希表/哈希桶1、哈希介绍及概念2、哈希冲突及解决3、闭散列/哈希表的实现4、开散列/哈希桶的实现三、哈希封装实现unordere

  • HTTPS协议

    一、HTTPS协议概念超文本传输安全协议(HypertextTransferProtocolSecure,简称:HTTPS)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,利用SSL/TLS来加密数据包。HTTPS的主要目的是提供对网站服务器的身份认证,保护交换数据的隐私

  • HashMap实现原理、 扩容机制,常见的面试题总结

    不论是android面试还是java面试,都会问到hashmap的原理和怎么实现的,今天我们就来总结下;一、HashMap(数组+链表+红黑树)原理HashMap底层使用数组,每个数组元素存的是Node类型(或者TreeNode),table的每一个位置,又可以称为Hash桶,也就是说,会将相同ha

  • HashMap 计算 Hash 值的扰动函数

    计算过程以下代码叫做“扰动函数”复制//java8中的散列值优化函数staticfinalinthash(Objectkey){inth;return(key==null)?0:(h=key.hashCode())^(h>>>16);}1.2.3.4.5.理论上hash散列是一个i

  • 聊聊一致性Hash算法代码实现

    什么是一致性hash一致性哈希算法(ConsistentHashingAlgorithm)是一种分布式算法,常用于负载均衡。Memcachedclient也选择这种算法,解决将key-value均匀分配到众多Memcachedserver上的问题。它可以取代传统的取模操作,解决了取模操作无法应对增删

  • Base64 编码原来这么简单,你知道吗?

    做了六七年程序员,经常用到Base64编码,但对于为什么要用,以及它的原理,一直是不求甚解。最近在某本书上看到了Base64的编码原理,原来这么这么这么简单。Base64解决了什么问题假如我们要在网络中传输下面的问题:复制你好小朋友我是砖家你是谁?1.2.3.4.5.这段文本中包含了空格、换行、回车

  • 从0到1剖析并编码实现短链系统

    短链很常见,在互联网营销场景以及移动端信息传播等场景下起着重要的作用。同时,也是经常被来拿考察选手系统设计水平的一个场景。对于服务端研发,关于前端访问时的长短转换,其实只要知道有30X重定向基本也就可以了。相较于重定向,我更关注的,是短链生成方式选型、存储选型、系统性能应对等方面的方案和设计。Par

  • 面试再问HashMap,求你把这篇文章发给他!

    总所周知HashMap是面试中经常问到的一个知识点,也是判断一个候选人基础是否扎实的标准之一,因为通过HashMap可以引出很多知识点,比如数据结构(数组、链表、红黑树)、equals和hashcode方法。除此之外还可以引出线程安全的问题,HashMap是我在初学阶段学到的设计的最为巧妙的集合,里

  • 一个简单的例子带你理解HashMap

    前言我知道大家都很熟悉hashmap,并且有事没事都会new一个,但是hashmap的一些特性大家都是看了忘,忘了再记,今天这个例子可以帮助大家很好的记住。场景用户提交一张试卷答案到服务端,post报文可精简为 复制[{"question_id":"100001","answer":"A"

  • 面试题:为什么要重写hashcode和equals方法?

    我在面试Java初级开发的时候,经常会问:你有没有重写过hashcode方法?不少候选人直接说没写过。我就想,或许真的没写过,于是就再通过一个问题确认:你在用HashMap的时候,键(Key)部分,有没有放过自定义对象?而这个时候,候选人说放过,于是两个问题的回答就自相矛盾了。最近问下来,这个问题普

推荐阅读