<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ysh-uestc]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_27469549</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_27469549]]></copyright><item><title><![CDATA[SpringMVC源码探索之RequestBody的工作原理]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/100985681</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/100985681</guid><author>qq_27469549</author><pubDate>Wed, 18 Sep 2019 15:46:35 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/asahinokawa/article/details/86683631
]]></description><category></category></item><item><title><![CDATA[Java线程池中的核心线程是如何被重复利用的]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/100522121</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/100522121</guid><author>qq_27469549</author><pubDate>Tue, 03 Sep 2019 16:43:12 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/MingHuang2017/article/details/79571529
]]></description><category></category></item><item><title><![CDATA[红黑树的特性]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/100511933</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/100511933</guid><author>qq_27469549</author><pubDate>Tue, 03 Sep 2019 09:59:21 +0800</pubDate><description><![CDATA[（1）每个节点或者是黑色，或者是红色。
（2）根节点是黑色。
（3）每个叶子节点（NIL）是黑色。[注意：这里叶子节点，是指为空(NIL或NULL)的叶子节点！]
（4）如果一个节点是红色的，则它的子节点必须是黑色的。
（5）从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。[这里指到叶子节点的路径]
...]]></description><category></category></item><item><title><![CDATA[最长递增子序列长度]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/100111947</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/100111947</guid><author>qq_27469549</author><pubDate>Wed, 28 Aug 2019 08:09:35 +0800</pubDate><description><![CDATA[public int findMaxSubLen(int[] arr){

        if (arr == null){
            return 0;
        }

        int[] longest = new int[arr.length];

        for (int i = 0; i &lt; longest.length; i++){
   ...]]></description><category></category></item><item><title><![CDATA[虚拟内存好处]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/100024868</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/100024868</guid><author>qq_27469549</author><pubDate>Thu, 22 Aug 2019 21:41:08 +0800</pubDate><description><![CDATA[1)虚拟内存管理可以控制物理内存的访问权限
访问的虚拟页若没有读写权限，则触发一个保护异常，终止进程。
2)虚拟内存让每个进程有独立的地址空间
对于私有区域来说，当不同进程对该区域做修改时，会触发写时拷贝，为新进程维护私有的虚拟地址空间。
3)VA到PA的映射会给分配和释放内存带来方便。
物理内存不连续的地址，可映射到连续的虚拟内存地址。
4)内存效率高
使用了页面调度，不会造成大量的数据装入装...]]></description><category></category></item><item><title><![CDATA[primary key主键与unique键]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99641080</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99641080</guid><author>qq_27469549</author><pubDate>Thu, 15 Aug 2019 16:13:36 +0800</pubDate><description><![CDATA[mysql主键的属性：

　　　　　　　　　1.主键具有唯一性：是指一张表里只能有一个主键；

　　　　　　　　　2.主键作用：主键primary key是为了唯一标识一个字段，使其唯一且不能为NULL，自动生成索引；

　　　　　　　　　3.隐含定义：如果这些列没有被明确地定义为NOT NULL，MySQL会隐含地定义这些列。

　　　　　　　　　　　4.主键其实也是索引，甚至在MySQL的术...]]></description><category></category></item><item><title><![CDATA[mysql日志]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99640640</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99640640</guid><author>qq_27469549</author><pubDate>Thu, 15 Aug 2019 16:07:13 +0800</pubDate><description><![CDATA[什么是binlog、redo log

binlog属于逻辑日志，是逻辑操作。innodb redo属于物理日志，是物理变更。逻辑日志有个缺点是难以并行，而物理日志可以比较好的并行操作。

1.binlog是MySQL Server层记录的日志，redo log是InnoDB存储引擎层的日志。 两者都是记录了某些操作的日志(不是所有)自然有些重复（但两者记录的格式不同）。
2. 选择binlo...]]></description><category></category></item><item><title><![CDATA[MVCC版本号控制]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99639880</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99639880</guid><author>qq_27469549</author><pubDate>Thu, 15 Aug 2019 15:55:02 +0800</pubDate><description><![CDATA[mysql的innodb采用的是行锁，而且采用了多版本并发控制来提高读操作的性能。

什么是多版本并发控制呢 ？其实就是在每一行记录的后面增加两个隐藏列，记录创建版本号和删除版本号，

而每一个事务在启动的时候，都有一个唯一的递增的版本号。

1、在插入操作时 ： 记录的创建版本号就是事务版本号。

比如我插入一条记录, 事务id 假设是1 ，那么记录如下：也就是说，创建版本号就是事务版本号。...]]></description><category></category></item><item><title><![CDATA[深入理解Java类加载器(ClassLoader)]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99482698</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99482698</guid><author>qq_27469549</author><pubDate>Tue, 13 Aug 2019 22:06:02 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/javazejian/article/details/73413292
]]></description><category></category></item><item><title><![CDATA[单元测试]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99395669</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99395669</guid><author>qq_27469549</author><pubDate>Tue, 13 Aug 2019 06:59:52 +0800</pubDate><description><![CDATA[1.单元测试（Unit Test）

单元测试（Unit Test）是一种对隔离的小型代码单元进行测试的测试实践。

单元：在Java中，一般情况下，单元就是方法。特殊地，根据业务情况，可以把一个类或者一个应用看做单元。

小型：小型代码块的用意更加明确，测试编写更加容易，易覆盖全；小型代码块所提供的反馈环路较短，测试速度更快。

隔离：对于单元中的外部依赖（如网络、文件等），应该用模拟来完成依赖...]]></description><category></category></item><item><title><![CDATA[Atomic]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/83475534</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/83475534</guid><author>qq_27469549</author><pubDate>Tue, 13 Aug 2019 06:56:39 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/zhangerqing/article/details/43057799
]]></description><category></category></item><item><title><![CDATA[泛型的擦除]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/80000842</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/80000842</guid><author>qq_27469549</author><pubDate>Tue, 13 Aug 2019 06:56:16 +0800</pubDate><description><![CDATA[先看两个例子来理解泛型的擦除是什么


public class Main{

    public static void main(String[] args) {
        Class c1 = new ArrayList&lt;String&gt;().getClass();
        Class c2 = new ArrayList&lt;Integer&gt;().getC...]]></description><category></category></item><item><title><![CDATA[B，B+树，Mysql中索引]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/82945386</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/82945386</guid><author>qq_27469549</author><pubDate>Tue, 13 Aug 2019 06:55:36 +0800</pubDate><description><![CDATA[浅谈算法和数据结构: 十 平衡查找树之B树 http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html

MySQL索引背后的数据结构及算法原理 

http://blog.codinglabs.org/articles/theory-of-mysql-index.html


...]]></description><category></category></item><item><title><![CDATA[zk应用]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99322651</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99322651</guid><author>qq_27469549</author><pubDate>Mon, 12 Aug 2019 18:46:06 +0800</pubDate><description><![CDATA[1.锁

前提：zk中有有序节点，临时节点在用户断开连接后，会自动失效，并且客户端可以watch机制，对一个节点目录进行操作的监视，一旦改目录有变化会通知客户端，


	排他锁：只有一个客户端能够获得锁

	获取锁：客户端通过create()在/exclusive/下创建lock临时节点/exclusive/lock节点，对于同一个节点，zk保证只有一个用户会创建成功，即得到了锁。其他未得到锁的客...]]></description><category></category></item><item><title><![CDATA[vim]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99322527</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99322527</guid><author>qq_27469549</author><pubDate>Mon, 12 Aug 2019 18:45:01 +0800</pubDate><description><![CDATA[查找关键字

/xxx

n：下一个

从底向上找 1？xxx

行号

set number

set nonumber

跳转到指定行

n gg

：n

跳转到最后一行

shift + g

跳转到第一行

gg
]]></description><category></category></item><item><title><![CDATA[thrift]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99322440</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99322440</guid><author>qq_27469549</author><pubDate>Mon, 12 Aug 2019 18:44:13 +0800</pubDate><description><![CDATA[1.RPC基本原理

RPC(Remote Procedure Call)，远程过程调用，大部分的RPC框架都遵循如下三个开发步骤：


	定义一个接口说明文件：描述了对象(结构体)、对象成员、接口方法等一系列信息；
	
	
	通过RPC框架所提供的编译器，将接口说明文件编译成具体的语言文件；
	
	
	在客户端和服务器端分别引入RPC编译器所生成的文件，即可像调用本地方法一样调用服务端代码；
	...]]></description><category></category></item><item><title><![CDATA[tcp粘包]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99321815</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99321815</guid><author>qq_27469549</author><pubDate>Mon, 12 Aug 2019 18:38:45 +0800</pubDate><description><![CDATA[1.粘包

在长连接下，有发送端A与接收端B，A先发送了一段数据“first data”，然后发送了第二段数据“second data”，而B只接收到一段数据“first datasecond data”。

2.缓冲区

在tcp传输过程中，为了保证数据的可靠传输，会进行重发，所以会有内核缓存区对接收方未应答的数据进行缓存。接收方也有一个内核缓存区，用于接收数据。在socket编程中，发送发的s...]]></description><category></category></item><item><title><![CDATA[shell]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99321023</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99321023</guid><author>qq_27469549</author><pubDate>Mon, 12 Aug 2019 18:37:26 +0800</pubDate><description><![CDATA[1. 变量赋值


a="abc"
echo "$a"

2.数组


my_array=(A B "C" D)

echo "第一个元素为: ${my_array[0]}"
echo "第二个元素为: ${my_array[1]}"
echo "第三个元素为: ${my_array[2]}"
echo "第四个元素为: ${my_array[3]}"

#获取所有元素
echo "数组的元素为:...]]></description><category></category></item><item><title><![CDATA[redis]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99320773</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99320773</guid><author>qq_27469549</author><pubDate>Mon, 12 Aug 2019 18:29:32 +0800</pubDate><description><![CDATA[1.数据类型


	string：
	
String类型是Redis中最为基础的数据存储类型，是二进制安全的字符串，该类型可以接受任何格式的数据，如JPEG图像数据或Json对象描述信息等。在Redis中String类型的Value最多可以容纳的数据长度是512M。


	list：
	
List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样，可以在其头部(left)和尾部(rig...]]></description><category></category></item><item><title><![CDATA[maven]]></title><link>https://blog.youkuaiyun.com/qq_27469549/article/details/99320603</link><guid>https://blog.youkuaiyun.com/qq_27469549/article/details/99320603</guid><author>qq_27469549</author><pubDate>Mon, 12 Aug 2019 18:27:50 +0800</pubDate><description><![CDATA[1.基本


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
​
&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
​
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
​
     xsi:schemaLocati...]]></description><category></category></item></channel></rss>