<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LIKEWWZ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LIKEWWZ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LIKEWWZ]]></copyright><item><title><![CDATA[redis1.2.6 go复写sds基本函数]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123874236</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123874236</guid><author>LIKEWWZ</author><pubDate>Thu, 31 Mar 2022 15:50:31 +0800</pubDate><description><![CDATA[package sds

import (
	"fmt"
	"strings"
	"unsafe"
)

type Sds *[]byte

type sdshdr struct {
	len  int64
	free int64
	buf  []byte
}

// Sdsnewlen 初始化sdshdr
func Sdsnewlen(init []byte, initlen int64) Sds {
	var sh *sdshdr
	sh = new(sdshdr)
	sh.buf = make([]b]]></description><category></category></item><item><title><![CDATA[redis1.2.6 sds.c]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123874040</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123874040</guid><author>LIKEWWZ</author><pubDate>Thu, 31 Mar 2022 15:45:08 +0800</pubDate><description><![CDATA[redis1.2.6 sds.c]]></description><category></category></item><item><title><![CDATA[redis1.2.6 redis-cli.c发送命令]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123794729</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123794729</guid><author>LIKEWWZ</author><pubDate>Mon, 28 Mar 2022 14:33:36 +0800</pubDate><description><![CDATA[redis1.2.6 redis-cli.c发送命令]]></description><category></category></item><item><title><![CDATA[两数异或交换]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123773498</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123773498</guid><author>LIKEWWZ</author><pubDate>Sun, 27 Mar 2022 14:47:42 +0800</pubDate><description><![CDATA[两数异或交换]]></description><category></category></item><item><title><![CDATA[redis1.2.6 事件处理]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123738004</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123738004</guid><author>LIKEWWZ</author><pubDate>Fri, 25 Mar 2022 15:57:37 +0800</pubDate><description><![CDATA[redis1.2.6 事件处理]]></description><category></category></item><item><title><![CDATA[redis1.2.6 redis-cli.c]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123735780</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/123735780</guid><author>LIKEWWZ</author><pubDate>Fri, 25 Mar 2022 14:56:47 +0800</pubDate><description><![CDATA[redis1.2.6 redis-cli.c]]></description><category></category></item><item><title><![CDATA[MySQL学习]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/122488155</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/122488155</guid><author>LIKEWWZ</author><pubDate>Fri, 14 Jan 2022 10:07:10 +0800</pubDate><description><![CDATA[MySQL查询

MySQL8查询缓存已经废弃
为什么MySQL的索引使用的是B+树？

索引是一个类似于字典的工具，其结构肯定是key-value形式，有key才能查询到value
Hash、二叉树、平衡树都可以实现key-value，但像Hash会出现碰撞，数据量大碰撞再多，那么想查找一定范围的值只能全部遍历；而二叉树、排序树之类的数据量一大了起来，那么树的层数一定会多，而层多了对I/O的请求也就多了起来，性能就下来了。


注：一般情况下，使用B+树时，在处理千万条的数据，树的深度差不多是3-4层
聚]]></description><category></category></item><item><title><![CDATA[MySQL全局锁与表级锁]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/120666815</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/120666815</guid><author>LIKEWWZ</author><pubDate>Sat, 09 Oct 2021 10:56:19 +0800</pubDate><description><![CDATA[全局锁
# 加全局锁命令
Flush tables with read lock;

对整个数据库实例加锁，使整个库处于只读状态
# 解锁
unlock tables;

当使用Flush tables with read lock;命令加锁，如果客户端断开，则整个库会回到可以正常更新状态。
表级锁
# 加表级锁命令
lock tables (表名..) read/write

例：
lock tables t1 read,t2 write;

当线程A使用lock tables t1 read,t2 wr]]></description><category></category></item><item><title><![CDATA[GDB基本命令]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/118074482</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/118074482</guid><author>LIKEWWZ</author><pubDate>Sun, 20 Jun 2021 20:20:39 +0800</pubDate><description><![CDATA[开始
在编译C时，需要使用-g参数
gcc -g a.c

进入GDB
gdb 可执行文件

基本命令
run       运行程序 简写为：r
quit       退出
break 函数名/行数      打断点 简写为：b
(gdb) break main

list     查看源代码
info break     查看断点信息
(gdb) info break
Num     Type           Disp Enb Address            What
1       break]]></description><category></category></item><item><title><![CDATA[单例模式]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/116948220</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/116948220</guid><author>LIKEWWZ</author><pubDate>Mon, 17 May 2021 20:42:31 +0800</pubDate><description><![CDATA[单例模式

一个类只能被实例化一次，当有其它操作进行实例化类时，返回第一次实例化的对象
主要为：三私一公 [私有属性，私有构造方法，私有克隆，一个公开的静态方法]

实现方式

class PDODB{
 	/**
	* 私有属性
	*/
	private static $instance;//存放静态对象

	/**
	*构造方法
	*/
	private function __construct(){}
	/**
	*单例模式公开的获得对象的方法
	*/
	public static function.]]></description><category></category></item><item><title><![CDATA[MySQL分区]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/115802272</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/115802272</guid><author>LIKEWWZ</author><pubDate>Sat, 17 Apr 2021 21:46:57 +0800</pubDate><description><![CDATA[KEY算法
创建分区
create table 表名{
	字段 类型 ....
} partition by key(字段/表达式) partitions 分区数名

MySQL8已经不支持 MYISAM 引擎创建分区了
create table t5(
	id int not null auto_increment,
	username varchar(30) not null default '',
	primary key(id)
) engine = MYISAM partition by key(]]></description><category></category></item><item><title><![CDATA[composer的更新或升级]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/114410058</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/114410058</guid><author>LIKEWWZ</author><pubDate>Fri, 05 Mar 2021 19:35:58 +0800</pubDate><description><![CDATA[composer self-update --2

原版本为1.10.20


Use composer self-update --rollback to return to version 1.10.20

使用composer self-update --rollback可以使版本回归到1.10.20


]]></description><category></category></item><item><title><![CDATA[类型转化函数、查看整数位数]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/113740906</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/113740906</guid><author>LIKEWWZ</author><pubDate>Sun, 07 Feb 2021 14:46:15 +0800</pubDate><description><![CDATA[strlen函数、strval函数、intval函数

&lt;?php
//用strlen可以查看整数的位数
//正数
$num = 1234;
echo $num."的位数是：".strlen($num)."&lt;br&gt;";
//负数
$num = -987;
echo $num."的位数是：".strlen($num)."&lt;br&gt;";

//将int转化为字符串
var_dump(strval($num));

echo("&lt;br&gt;");

//将整数类型的字符串转化.]]></description><category></category></item><item><title><![CDATA[原码、反码、补码和位运算]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/113484788</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/113484788</guid><author>LIKEWWZ</author><pubDate>Sun, 31 Jan 2021 20:52:50 +0800</pubDate><description><![CDATA[二进制


二进制的最高位是符号位：0表示正数； 1表示负数


正数的原码、反码、补码都一样


负数的反码=它的原码符号位不变，其它位取反


负数的补码=它的反码+1


0的反码、补码都为0
1：原码[0000 0001] 反码[0000 0001] 补码[0000 0001]
-1:  原码[1000 0001] 反码[1111 1110] 补码[1111 1111]


位运算

用补码进行计算



按位与 &amp;：两位全为1，结果为1
2&amp;3
0000 0010    2 补码 ]]></description><category></category></item><item><title><![CDATA[Linux基础学习笔记]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/113112310</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/113112310</guid><author>LIKEWWZ</author><pubDate>Mon, 25 Jan 2021 14:42:55 +0800</pubDate><description><![CDATA[Linux常用命令
fdisk -l	# 查看磁盘信息
cat /proc/meminfo	# 查看内存
cat /proc/cpuinfo	# 查看CPU
reboot	# 重启
poweroff	# 关机

cd 目录 #更改目录
pwd # 显示当前工作的完整路径
ls	# 列出当前目录中的内容

touch 文件 # 创建文件
mkdir 目录 # 创建目录
mv 文件路径 目标路径 # 剪切和重命名
cp 文件路径 目标路径 # 复制
ln -s [绝对路径]源文件 目标路径 # 创建快捷方式
r]]></description><category></category></item><item><title><![CDATA[VTP、HSRP、ACL、NAT、路由器等学习笔记]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/112730896</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/112730896</guid><author>LIKEWWZ</author><pubDate>Sun, 17 Jan 2021 10:45:59 +0800</pubDate><description><![CDATA[VTP


虚拟局域网中继协议


从一点维护整个网络上VLAN的添加、删除和重命名工作


VTP域的组成

具有相同域名，通过Trunk相连的一组交换机

VTP的运行模式


服务器模式（Server）

可以创建、删除和修改VLAN
学习、转发相同域名的VTP通告



客户机模式（Client）

学习、转发相同域名的VTP通告
不可以创建、删除和修改VLAN



透明模式（Transparent）

可以创建、删除和修改VLAN，但只在本地有效
转发但不学习VTP通告



VTP学习VLAN]]></description><category></category></item><item><title><![CDATA[路由器和交换机学习笔记]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/112548787</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/112548787</guid><author>LIKEWWZ</author><pubDate>Tue, 12 Jan 2021 22:06:31 +0800</pubDate><description><![CDATA[交叉线：同种设备间使用
直通线：异种设备间使用
数据链路层
帧格式：帧头（目标MAC[6个字节] 源MAC[6个字节] 类型[2个字节]）  上三层数据 帧尾
​					类型字段的作用：识别上层协议，为上层协议提供服务
​					帧头：14个字节；帧尾：4个字节
​					MTU值（最大传输单元）1500字节
交换机是通过帧中的源MAC地址动态的建立MAC地址表
交换机的工作原理：
​			收到一个数据帧后，学习帧中的源MAC地址来形成MAC地址表，检查帧中的目标MAC地址，并匹配MAC地址表，如果表]]></description><category></category></item><item><title><![CDATA[JAVA 线程学习笔记]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/112191571</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/112191571</guid><author>LIKEWWZ</author><pubDate>Mon, 04 Jan 2021 18:09:04 +0800</pubDate><description><![CDATA[线程

线程分为用户线程和守护线程

线程创建的方法


继承Thread


public class ThreadTest01 extends Thread {
    @Override
    public void run() {

        for (int i = 0; i &lt; 5; i++) {
            System.out.println(Thread.currentThread().getName()+"--"+i);
        }

    }
   ]]></description><category></category></item><item><title><![CDATA[学习GUI笔记]]></title><link>https://blog.youkuaiyun.com/LIKEWWZ/article/details/111936929</link><guid>https://blog.youkuaiyun.com/LIKEWWZ/article/details/111936929</guid><author>LIKEWWZ</author><pubDate>Tue, 29 Dec 2020 20:49:19 +0800</pubDate><description><![CDATA[GUI编程
图形用户编程 C/S

JFrame类
Frame的子类
方法
void setTitle(String title) //Frame类中 将此窗体的标题设置为指定的字符串。

void setSize(int width, int height) //window类中 调整组件的大小，使其宽度为 width，高度为 height。

void setVisible(boolean b) //window类中 根据参数 b 的值显示或隐藏此 Window。

void setLocation(i]]></description><category></category></item></channel></rss>