
基础
文章平均质量分 74
皮皮皮的代码
一点点来
展开
-
方案-数据迁移
1参考资料【菜鸟积分系统稳定性建设 - 分库分表&百亿级数据迁移】原创 2021-09-28 09:34:22 · 395 阅读 · 0 评论 -
网络-HTTP
1. 介绍HTTP连接 = TCP握手,HTTPS连接 = TCP握手 + SSL握手。1.1 SSL握手HTTPS如何保证数据传输的安全性,即通过RSA非对称加密。但是非对称加密加解密太慢,因此通过非对称加密方式向服务端和客户端两方确认对称加密信息(为什么一开始不用对称加密:如果服务端和客户端一开始使用对称加密很容易被中间人获取到,可能直接可以通过本地客户端获取对称加密信息从而破解其它人的数据信息)。1.1.1 SSL基本过程(1) 客户端向服务器端索要并验证公钥。客户端向服务器索原创 2021-06-04 14:23:20 · 318 阅读 · 0 评论 -
网络-TCP
1. 介绍1.1 TCP/IP 模型1.2 三次握手(1)第一次握手:Client 进入 SYN_SENT 状态,发送一个 SYN 帧来主动打开传输通道,该帧的 SYN 标志位被设置为1,同时会带上 Client 分配好的 SN 序列号,该 SN 是根据时间产生的一个随机值,通常情况下每间隔 4ms 会加 1。除此之外,SYN 帧还会带一个 MSS(最大报文段长度)可选项的值,表示客户端发送出去的最大数据块的长度。(2)第二次握手:Server 端在收到SYN 帧之后,会进入SYN_原创 2021-06-03 16:05:17 · 164 阅读 · 0 评论 -
基础-ConcurrentHashMap
Hash冲突 如果我们单纯的根据hashCode取余来获取对应的分组,hash碰撞的概率会大大增加。主要是因为如果使用hashCode取余,那么相当于参与运算的只有hashCode的低位,高位是没有起到任何作用的,所以我们的思路就是让hashCode取值出的高位也参与运算,进一步降低hash碰撞的概率,使得数据分布更平均,我们把这样的操作称为扰动,在JDK 1.8中的hash()函数如下:static final int hash(Object key) { int h; //..原创 2020-06-04 22:28:23 · 330 阅读 · 0 评论 -
基础-HashMap
Hashmap put流程 (1)对Key求Hash值,然后再计算下标(2)如果没有碰撞,直接放入桶中(碰撞的意思是计算得到的Hash值相同,需要放到同一个bucket中)(3)如果碰撞了,以链表的方式链接到后面(4)如果链表长度超过阀值( TREEIFY THRESHOLD==8),就把链表转成红黑树,链表长度低于6,就把红黑树转回链表(5)如果节点已经存在就替换旧值(6)如果桶满了(容量16*加载因子0.75),就需要 resize(扩容2倍后重排) 拉链法导致的链表过..原创 2020-06-04 00:47:01 · 233 阅读 · 0 评论 -
基础-CAP理论
1. 介绍1.1 定义CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校的计算机科学家--埃里克·布鲁尔(Eric Brewer),在 2000 年的 ACM PODC 上提出的一个猜 想。2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch) 发表了布鲁尔猜想的证明,使之成为分布式计算领域公认的一个定理。CAP 定理,指的是在一个分布式系统(指互相连接并共享数据节点的集合)中,原创 2021-02-19 14:13:21 · 292 阅读 · 1 评论