<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[white_zzZ的博客]]></title><description><![CDATA[一位正在成长的呱]]></description><link>https://blog.youkuaiyun.com/white_zzZ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; white_zzZ]]></copyright><item><title><![CDATA[redis底层数据结构]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104978165</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104978165</guid><author>white_zzZ</author><pubDate>Fri, 20 Mar 2020 12:56:44 +0800</pubDate><description><![CDATA[文章目录一、简单动态字符串1、SDS的结构定义2、...]]></description><category></category></item><item><title><![CDATA[QUIC协议]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104351232</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104351232</guid><author>white_zzZ</author><pubDate>Mon, 17 Feb 2020 00:49:39 +0800</pubDate><description><![CDATA[一、什么是quic

QUIC(Quick UDP Internet Connection)是谷歌提出的一种基于UDP的低时延的互联网传输层协议
QUIC解决了现代网站应用的一系列的传输层及应用层的问题，但只需要应用开发者几乎不用做出或者只做出很小的改变。QUIC和TCP+TLS+HTTP很类似，但是基于UDP实现，基于QUIC实现的HTTP协议被提议为HTTP3。
0RTT 建立连接可以说是 Q...]]></description><category></category></item><item><title><![CDATA[Google的BBR拥塞控制算法]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104349803</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104349803</guid><author>white_zzZ</author><pubDate>Sun, 16 Feb 2020 23:32:28 +0800</pubDate><description><![CDATA[背景
传统基于预测的TCP拥塞控制

以Reno的改进为例，TCP发送端在拥塞避免阶段收到ACK后，无条件地将cwnd增加1/cwnd，在慢启动阶段收到ACK后cwnd增加1，这是毫无根据的，然而Reno并没有什么更好的做法，只能瞎猜！
后来Cubic也改进了一波，搞了一个高大上的以三次方程凸凹曲线来抉择的增窗机制，看似十分地“博士”，并且十分地“经理”，然而还是无法高效利用互联网的空闲带宽，相反...]]></description><category></category></item><item><title><![CDATA[TCP拥堵控制原理]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104328261</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104328261</guid><author>white_zzZ</author><pubDate>Sat, 15 Feb 2020 15:05:48 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/qq_41431406/article/details/97926927
                                        
                    
                    
                        
    ...]]></description><category></category></item><item><title><![CDATA[TCP基本原理]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104326924</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104326924</guid><author>white_zzZ</author><pubDate>Sat, 15 Feb 2020 14:58:16 +0800</pubDate><description><![CDATA[三次握手连接


由客户端client发送建立TCP连接的请求，此时TCP报文会随机生成一个seq为a的序列号，并且把SYN字段设置为1，表示建立TCP连接
服务器server接受到客户端发来的TCP连接请求，也会在回复的TCP报文中随机生成一个序列号为b，SYN字段也置为1，ack设置为a+1进行回复，以便客户端收到消息时，知道自己发送的TCP请求已经得到验证
客户端收到服务器发送来的消息后，将...]]></description><category></category></item><item><title><![CDATA[OSI七层模型]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104326622</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104326622</guid><author>white_zzZ</author><pubDate>Sat, 15 Feb 2020 13:33:23 +0800</pubDate><description><![CDATA[每一层及其对应的协议

实际传输中的封装

每一层及其对应的物理设备

物理层：网卡、网线、集线器、中继器、调制调节器
数据链路层：网桥、交换机
网络层：路由器


...]]></description><category></category></item><item><title><![CDATA[redis五种数据类型以及方法]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104176053</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104176053</guid><author>white_zzZ</author><pubDate>Tue, 04 Feb 2020 22:52:10 +0800</pubDate><description><![CDATA[String
- 插入：redisTemplate.opsForValue().set(key, String.valueOf(value));
- 获取：redisTemplate.opsForValue().get(key);
- 批量删除：redisTemplate.delete(keys) //其中keys:Collection&lt;K&gt; keys
- 设置过期： redisTem...]]></description><category></category></item><item><title><![CDATA[其他设计模式（转）]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104155605</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104155605</guid><author>white_zzZ</author><pubDate>Tue, 04 Feb 2020 00:35:59 +0800</pubDate><description><![CDATA[最近发现一个博主写的设计模式，有例子代码，最后还会有设计模式在框架的运用，觉得非常不错！
责任链模式

责任链模式

中介者模式

中介者模式

备忘录模式

备忘录模式

观察者模式

观察者模式

策略模式

策略模式


...]]></description><category></category></item><item><title><![CDATA[装饰器模式]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104139927</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104139927</guid><author>white_zzZ</author><pubDate>Sun, 02 Feb 2020 00:03:55 +0800</pubDate><description><![CDATA[什么是装饰器模式

把已有的功能动态添加更多功能的一种方式

UML图

代码

apple接口

public interface Apple {

    /**
     * 描述
     */
    void res();
}


实体苹果类（concreteApple）

public class ConcreteApple implements Apple {
    @Overr...]]></description><category></category></item><item><title><![CDATA[构建者模式]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104139487</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104139487</guid><author>white_zzZ</author><pubDate>Sat, 01 Feb 2020 23:29:10 +0800</pubDate><description><![CDATA[最近尝试性地在牛客上笔试了一下，感觉除了上课所学的设计模式以外，公司笔试还会有要求掌握其他虽然不常用但是重要的设计模式

什么是构建者模式

将一个复杂对象的构建与他的表示分离，使得同样的构建过程可以创建不同的表示
隐藏了复杂对象的创建过程，把他复杂对象的创建过程加以抽象，通过子类继承或重载

UML图

共享单车为例子的代码

转自：https://www.jianshu.com/p/3d1c...]]></description><category></category></item><item><title><![CDATA[多线程中常用方法的区别]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104118892</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104118892</guid><author>white_zzZ</author><pubDate>Thu, 30 Jan 2020 21:46:56 +0800</pubDate><description><![CDATA[wait和sleep

wait方法来自Object类中，sleep方法来自Thread类中
sleep方法没有释放锁，而wait方法释放了，使得其他线程可以使用同步控制块或者方法
sleep方法可以在任何地方使用，wait，notify，notifyAll只能在同步控制方法或者同步控制块里面使用
sleep方法必须捕获异常（在sleep的过程中过程中有可能被其他对象调用它的interrupt()...]]></description><category></category></item><item><title><![CDATA[数据库中count语句解读]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104106558</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104106558</guid><author>white_zzZ</author><pubDate>Thu, 30 Jan 2020 17:41:35 +0800</pubDate><description><![CDATA[COUNT的几种用法

COUNT（expr），返回select语句检索行中expr的值不为NULL的数量，结果是一个BIGINT值
如果没有命中任何记录，返回0
COUNT（*）统计时会包含值为NULL的行数

COUNT（*）的优化

MyISAM：一个简单得优化，它把表的总行数单独记录下来，如果从一张表中使用COUNT（*）进行查询，就可以直接返回这个记录下来的数值就可以了
InnoDB：应...]]></description><category></category></item><item><title><![CDATA[快速排序]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104103872</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104103872</guid><author>white_zzZ</author><pubDate>Wed, 29 Jan 2020 01:01:55 +0800</pubDate><description><![CDATA[（1）排序思路


1、先从数列中取出一个数作为基准数


2、分区过程，将比这个数大的数全放到它的右边，小于或等于它的数全放到它的左边


3、再对左右区间重复第二步，直到各区间只有一个数


（2）表格流程介绍

概括来说两个流程：挖坑填数+分治
第一步：以第一个数为基准元素，尾指针从后往前扫描，找到第一个比基准元素小的数，调换位置


第二步：头指针从前往后扫描，找到比尾指针位置元素大的第一...]]></description><category></category></item><item><title><![CDATA[归并排序]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104103731</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104103731</guid><author>white_zzZ</author><pubDate>Wed, 29 Jan 2020 00:36:09 +0800</pubDate><description><![CDATA[今天在别人的博客看到一篇非常好的归并排序的解释，而且带上图解和动图，代码非常清晰简介
https://www.jianshu.com/p/33cffa1ce613

（1）归并排序流程

(2)合并两个

（3）代码
public static void mergeSort(int[] arr) {
    sort(arr, 0, arr.length - 1);
}

public stat...]]></description><category></category></item><item><title><![CDATA[图中连通块的个数：并查集]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104096649</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104096649</guid><author>white_zzZ</author><pubDate>Mon, 27 Jan 2020 23:50:44 +0800</pubDate><description><![CDATA[图的连通性问题
在地图上有...]]></description><category></category></item><item><title><![CDATA[一个数 m 开 n 次方]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104096412</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104096412</guid><author>white_zzZ</author><pubDate>Mon, 27 Jan 2020 22:58:54 +0800</pubDate><description><![CDATA[今天在牛客上刷到的一道题目

题目：在没有任何数学库函数的情况下，求一个数 m 开 n 次方的结果。
思路：用逼近法，无限逼近x，使得x的n次方无限接近于m（至于接近多少自己定义）
代码：

#include &lt;bits/stdc++.h&gt;
using namespace std;
const double eps=1e-16;//10的-16次方
long double n,m;
i...]]></description><category></category></item><item><title><![CDATA[二叉排序树]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104076033</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104076033</guid><author>white_zzZ</author><pubDate>Thu, 23 Jan 2020 18:52:44 +0800</pubDate><description><![CDATA[BST查找、插入、删除、遍历

]]></description><category></category></item><item><title><![CDATA[红黑树基本原理]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104075974</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104075974</guid><author>white_zzZ</author><pubDate>Thu, 23 Jan 2020 15:01:13 +0800</pubDate><description><![CDATA[红黑树性质1、每个结点或是红色的，或是黑色的&nbsp;2、根节点是黑色的&nbsp;3、每个叶结点（NIL）是黑色的&nbsp;4、如果一个节点是红色的，则它的两个儿...]]></description><category></category></item><item><title><![CDATA[ConcurrentHashMap分析]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104075888</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104075888</guid><author>white_zzZ</author><pubDate>Thu, 23 Jan 2020 14:48:07 +0800</pubDate><description><![CDATA[基于1.8的详细实现
1.7与1.8实现的不同


]]></description><category></category></item><item><title><![CDATA[hashmap（基于1.8）分析]]></title><link>https://blog.youkuaiyun.com/white_zzZ/article/details/104075728</link><guid>https://blog.youkuaiyun.com/white_zzZ/article/details/104075728</guid><author>white_zzZ</author><pubDate>Thu, 23 Jan 2020 14:19:22 +0800</pubDate><description><![CDATA[整体分析
为什么hashmap不适用在多线程中
resize方法解读


]]></description><category></category></item></channel></rss>