<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SGlow0708的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SGlow0708</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SGlow0708]]></copyright><item><title><![CDATA[Linux相关概念和易错知识点（51）（mmap文件映射、共享内存原理、malloc的原理）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/154733025</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/154733025</guid><author>SGlow0708</author><pubDate>Wed, 08 Apr 2026 20:00:58 +0800</pubDate><description><![CDATA[相比命名管道而言，共享内存的优势在于随机访问，mmap后拿到的是一整个内存块。这就直接越过了系统调用，因为调用read、write实际上是间接和缓冲区打交道的，而mmap映射后我们可以直接进行访问。或者父子进程间的共享内存（父进程先创建匿名共享映射，再fork子进程，子进程会继承这个映射）都是使用mmap的这个选项。机制，当你修改私有映射的内存时，内核会复制一份新的内存给你，后续的修改都在这个副本上进行。这是mmap最重要的参数，理解了这个参数我们可以进一步理解内存开辟的本质，特别是私有映射。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（50）（读者写者模型、读写锁、自旋锁、活锁的形成）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/153868641</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/153868641</guid><author>SGlow0708</author><pubDate>Sat, 25 Oct 2025 14:26:26 +0800</pubDate><description><![CDATA[下面是最关键的读写锁的申请代码，也是体现读者写者模型的核心。我们发现。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（49）（HTTPS、数据摘要、SSL证书、ARP欺骗）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/153814252</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/153814252</guid><author>SGlow0708</author><pubDate>Sat, 25 Oct 2025 01:12:04 +0800</pubDate><description><![CDATA[我们上述的安全性的讨论都基于一个事实，就是中间人只会窃听我们的数据，即它能够知道我们双方所有的通信数据。在这种情况下，就算中间人知道客户端和服务端通信的所有的数据，方案4也能保证安全可靠。但是，中间人还可以篡改数据！首先，中间人一定在双方通信的路径中，这是中间人的定义。其次，这个中间人必须在双方开始通信前就已经做好准备。满足这两个条件，中间人它能借助数据篡改破解方案4。在通信前，中间人就已经准备好了一个公钥和私钥，当采用非对称加密 + 对称加密时：首先，服务端发送自己的公钥给客户端，]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（48）（epoll的底层原理、epoll的工作模式、反应堆模式）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/153696391</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/153696391</guid><author>SGlow0708</author><pubDate>Tue, 21 Oct 2025 22:19:16 +0800</pubDate><description><![CDATA[因此，]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（47）（五种IO模型、多路转接、select、poll、epoll）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/153654292</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/153654292</guid><author>SGlow0708</author><pubDate>Tue, 21 Oct 2025 17:05:19 +0800</pubDate><description><![CDATA[fd_set具体是什么数据结构（用来保存fd的）？位图！0号描述符对应位图的0号位置，该位置设置为1就表示关心该fd。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（46）（全连接队列、Linux网络内核设计）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/153188307</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/153188307</guid><author>SGlow0708</author><pubDate>Thu, 16 Oct 2025 18:18:19 +0800</pubDate><description><![CDATA[三次握手建立连接的过程与服务端是否调用accept无关，只要服务端处于监听状态，客户端调用connect依旧能够连接上，可以用netstat验证。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（45）（网络层、网段划分）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/151681051</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/151681051</guid><author>SGlow0708</author><pubDate>Sun, 14 Sep 2025 15:21:19 +0800</pubDate><description><![CDATA[是分片相对于原始 IP 报文数据部分开始处的偏移量，]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（44）（IP地址、子网和公网、NAPT、代理）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/151650105</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/151650105</guid><author>SGlow0708</author><pubDate>Sun, 14 Sep 2025 02:17:33 +0800</pubDate><description><![CDATA[在目标服务器眼里，一直都是正向代理服务器在请求服务，而实际上代理服务器只负责转发请求和应答，]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（43）（数据链路层、ARP、以太网、交换机）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/148580924</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/148580924</guid><author>SGlow0708</author><pubDate>Sat, 13 Sep 2025 13:46:26 +0800</pubDate><description><![CDATA[不同类型说明了以太网中数据的类型，以及接收方怎么处理数据，应该将数据交给哪个协议去处理，0800交给IP，0806交给ARP，8035交给RARP。通过类型我们也彻底理解了ARP的过程，先接收IP数据报，根据报头IP信息发起0806的请求mac帧，收到应答后再发出0800的mac帧。如果发现目标IP不在当前局域网内时ARP的目标IP就是路由器了，路由器应答后直接发给路由器。整个过程中会发现网络层的报头目标IP和源IP不变（暂不考虑NAT）。路由器收到后进行路径选择、转发，直到到达目标主机处。]]></description><category></category></item><item><title><![CDATA[MySQL相关概念和易错知识点（6）（视图、用户管理）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/150355214</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/150355214</guid><author>SGlow0708</author><pubDate>Wed, 13 Aug 2025 21:38:05 +0800</pubDate><description><![CDATA[我们初次接触时，可以将建立视图理解成C++中赋值兼容转换，其中视图就是那个父类，子类就是张完整的表。因此，可以说视图就是一张虚拟表，其内容是所引用的表的子集。回收用户权限和授权格式几乎一样，这里仅做一个示例。]]></description><category></category></item><item><title><![CDATA[MySQL相关概念和易错知识点（5）（索引、事务、MVCC）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/150150295</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/150150295</guid><author>SGlow0708</author><pubDate>Tue, 12 Aug 2025 17:21:41 +0800</pubDate><description><![CDATA[下面是对上述4种隔离级别的特性总结。]]></description><category></category></item><item><title><![CDATA[MySQL相关概念和易错知识点（4）（分组查询、连接查询、合并查询、子查询）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/149839649</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/149839649</guid><author>SGlow0708</author><pubDate>Sat, 09 Aug 2025 17:41:45 +0800</pubDate><description><![CDATA[上篇文章讲了select的基本用法，所以该部分是对上篇文章的延伸。]]></description><category></category></item><item><title><![CDATA[MySQL相关概念和易错知识点（3）（表内容的CURD、内置函数）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/149690317</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/149690317</guid><author>SGlow0708</author><pubDate>Fri, 01 Aug 2025 15:50:17 +0800</pubDate><description><![CDATA[select ifnull(val1, val2) 如果val1为null，返回val2，否则返回val1的值。]]></description><category></category></item><item><title><![CDATA[MySQL相关概念和易错知识点（2）（表结构的操作、数据类型、约束）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/149605714</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/149605714</guid><author>SGlow0708</author><pubDate>Sat, 26 Jul 2025 21:46:40 +0800</pubDate><description><![CDATA[因此数据库要解决的一个关键问题就是这个数据符不符合规范？能不能存进去？这就是数据库约束存在的根本原因。因此数据库对数据类型有着更严格的限制，]]></description><category></category></item><item><title><![CDATA[MySQL相关概念和易错知识点（1）（MySQL中不同概念的关系、MySQL基本使用）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/149398851</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/149398851</guid><author>SGlow0708</author><pubDate>Fri, 18 Jul 2025 06:29:55 +0800</pubDate><description><![CDATA[我们可以将查询到的结果理解为：如果当前删掉这个数据库（假设库中没有table），想要还原一个一模一样的database时mysql实际执行的语句，它不一定就是我们当初创建时真正写的。也就是说当我们进入一个database后，里面看到的都会是table，而没有子database，这也是结构上和文件系统不一样的地方，文件夹可以嵌套，而database不能。在show语句中，结果通常为表格，但有的时候由于显示区域问题，会出现表格的打印出现混乱，不好查看，所以采用\G拼在结尾，就会换成列表形式显示。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（42）（TCP的连接管理、可靠性、面临复杂网络环境的处理）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/148539979</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/148539979</guid><author>SGlow0708</author><pubDate>Tue, 10 Jun 2025 12:48:48 +0800</pubDate><description><![CDATA[根据建立连接，我们可以推断出，在有的情况下四次挥手可以合并成三次，即双方都有很强的断开连接的意愿下。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（41）（UDP、TCP报头结构）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/148112513</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/148112513</guid><author>SGlow0708</author><pubDate>Sun, 25 May 2025 14:58:24 +0800</pubDate><description><![CDATA[解析报头时，UDP直接读取收到的报文前8个字节，剩下就是有效载荷。报文的前8个字节包括：16位源端口号和16位目的端口号，16位当前UDP报文有效载荷长度（自描述字段），16位校验和。由于记录了16位当前UDP报文有效载荷长度和16位校验和，因此报文会被完整合法地交给上层。如果出现了UDP检验和失败，那这个报文会被直接丢弃，而无需向接收方响应任何数据。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（40）（HTML资源交互、网页管理、搜索引擎）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/147952210</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/147952210</guid><author>SGlow0708</author><pubDate>Thu, 15 May 2025 01:13:06 +0800</pubDate><description><![CDATA[各家都疯狂推出自己的浏览器，因此浏览器的标准争夺非常剧烈，每家都有自己的一面之词，都不甘服从别的公司的标准，这也造就了当今。注意对于301还是302，跳转的含义都是指的客户端再次发起请求，服务端不会跳转的，它只会告诉客户端下一步怎么做。，更新页面内容，这种情况下就不会跳转到新的静态网页，看起来还是在原来的网站，但内容更新了。，客户端的/test实际上会被对方的服务器单独处理，读取请求的参数，返回结果给客户端。（有的浏览器支持修改搜索引擎），所以对互联网厂商而言，浏览器就是自己的门面，非常重要。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（39）（URL、HTTP）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/147919251</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/147919251</guid><author>SGlow0708</author><pubDate>Wed, 14 May 2025 09:17:36 +0800</pubDate><description><![CDATA[应用层协议是很多的，且大多都有现成方案了，因此可以满足用户不同的需求，其中最具代表性的就是HTTP协议。HTTP超文本传输协议（无连接、无状态）定义了客户端（如浏览器）和服务器的通信，是客户端和服务器通信的基础。HTTPS主要就是多了一层加密。HTTP是基于TCP的，具有收发完整性（TCP保证可靠传输，有相应的重传机制等）。什么叫做基于TCP？当客户端和服务器建立连接时采用的就是TCP，相互发数据也都是遵循TCP的规则来的，和普通的TCP通信没什么区别。不同之处在于而。]]></description><category></category></item><item><title><![CDATA[Linux相关概念和易错知识点（38）（对会话层和表示层的理解、网络计算器的实现）]]></title><link>https://blog.youkuaiyun.com/SGlow0708/article/details/146966346</link><guid>https://blog.youkuaiyun.com/SGlow0708/article/details/146966346</guid><author>SGlow0708</author><pubDate>Wed, 02 Apr 2025 22:57:55 +0800</pubDate><description><![CDATA[本文在前面TCPServer、线程池、日志已经实现的情况下，以网络计算器的实现为主线，重点理解OSI定义的七层模型，以及理解为什么后面精简到了五层。]]></description><category></category></item></channel></rss>