
hash
文章平均质量分 78
hash函数、hashmap源码、redis数据类型hash。
CaptainCats
悟已往之不谏、知来者之可追。
展开
-
redis cluster集群为什么要求至少三个master节点?为什么是奇数?
cluster各节点之间需要互相通信确认对方是否存活,假设有A、B两个节点,B发现联系不上A,是不能确定A和B谁出了问题的,假设集群中还有一个C节点的话,如果B、C可以互相联系,但是都联系不上A,那么这时候就可以确定A出问题了,需要把A从集群中踢出去。集群可用原则:可用节点数量>集群总节点数量的二分之一,节点数量为奇数个是出于节省资源的考虑,因为不管是四个还是三个节点,一旦挂了两个,整个集群都是不可用的。原创 2022-09-27 20:57:32 · 2526 阅读 · 0 评论 -
redis持久化机制
redis默认的持久化机制是RDB。redis是常驻内存的数据库,将数据持久化到磁盘上是很有必要的,否则一旦宕机或重启,数据就会丢失。redis的持久化方式有三种。原创 2022-09-06 22:22:29 · 2000 阅读 · 0 评论 -
redis过期删除及内存淘汰策略
redis的内存管理机制。原创 2022-09-04 23:18:44 · 406 阅读 · 0 评论 -
redis五种数据类型对应的底层数据结构
redis是一种非关系型key-value内存数据库。原创 2022-09-03 19:29:49 · 4252 阅读 · 2 评论 -
晦涩难懂的hashmap源代码-put方法解析
jdk版本:jdk1.8.0_171。hashmap是用于key-value键值对处理的数据类型。原创 2022-08-30 21:40:43 · 497 阅读 · 1 评论 -
红黑树新增节点详解
而祖父节点涂红则是因为右旋后,经过叔节点的路径的黑色节点数量加一,涂红进行数量平衡,下同。需要将叔、父节点涂黑,祖父节点涂红,然后把祖父节点作为新的子节点,往上递归执行平衡操作。父节点涂黑是因为要涂为原祖父节点的黑色(往上兼容祖父节点的父节点),父节点是祖父节点的左子节点,子节点是父节点的左子节点。父节点是祖父节点的右子节点,子节点是父节点的右子节点。父节点是祖父节点的左子节点,子节点是父节点的右子节点。父节点是祖父节点的右子节点,子节点是父节点的左子节点。...原创 2022-08-12 21:17:45 · 875 阅读 · 0 评论 -
如何判断一个英文单词中是否存在重复字母
设想一下,我们用这32位的前26位记录字母是否出现,初始为0,出现变1。0的二进制,我们用它记录字母是否出现,暂且称它为content,是将1的二进制左移index位,然后与content进行或运算。得到字母下标index后,我们将二进制右移index位,再与1做与运算,结果为1说明index位置是1,出现过。English有26个字母,一个int类型占据32位,我们用它来作为32位二进制中的下标index。否则我们就将二进制的index位置变为1。...原创 2022-08-11 21:29:42 · 1272 阅读 · 0 评论 -
Java中的7种位运算详解和应用
对byte、short类型进行位运算,会先转为int类型再运算,返回值也是int类型,对long类型进行位运算,返回值也是long类型。计算机运算的时候,是将原码转换为补码进行的。正数的原码、反码、补码都一样的,负数的补码:我们以-1为例,byte类型占了1字节、8位。注意:本文中所有关于位运算的示意图,为了方便用了8位的二进制来表示,其实并不准确,int类型是4字节32位的。...原创 2022-08-11 21:29:09 · 1145 阅读 · 0 评论 -
原码、反码、补码,Java中byte类型的‘-128‘对应的二进制是什么。
反码、补码这些都是针对负数来说的,正数的原码、反码、补码都是一样的。反码、补码对应的数据:计算机磁盘存储的就是补码。原创 2022-08-10 21:43:12 · 1135 阅读 · 1 评论 -
Java中String类型的hashCode实现
hash、散列值,是把任意长度的输入,通过散列函数变换成固定长度的输出,这种转换是一种压缩映射,散列值的长度通常远小于输入的长度,可以看做是摘要或特征值,不同的输入有可能会得到相同的hash。...............原创 2022-08-06 20:28:23 · 1582 阅读 · 0 评论