<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lin5200000的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lin5200000</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lin5200000]]></copyright><item><title><![CDATA[Spring Boot自动装配原理(源码详细剖析！)]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/147372345</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/147372345</guid><author>Lin5200000</author><pubDate>Sun, 20 Apr 2025 17:00:36 +0800</pubDate><description><![CDATA[自动装配是Spring Boot的核心功能，它能够根据应用程序的依赖和配置自动配置Spring。这意味着我们只需要添加大量的依赖，Spring Boot就能自动完成配置，减少了人工配置的工作量。Spring Boot自动装配流程：获取@SpringBootApplication注解并解析处理@@EnableAutoConfiguration注解，并通过@Import注解导入自动配置选择器AutoConfigurationImportsSelector。]]></description><category></category></item><item><title><![CDATA[MySQL索引]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/147133786</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/147133786</guid><author>Lin5200000</author><pubDate>Fri, 11 Apr 2025 09:23:08 +0800</pubDate><description><![CDATA[本篇文章的重点还是MySQL的索引原理。MySQL的存储也是类似文件系统的那样的东西，只不过文件系统的data blocks是以4kb为单位，而MySQL则是16kb的page为单位。在InooDB下，每个叶子节点的page页存储的都是数据，非叶子节点的页也被称为目录页，目录页只存储其他页的地址，不存储数据。而在学习的过程中我也遇到了一些疑问，将在下面分享给大家。疑问一：每次查询都要加载一次B+树吗？答案是否定的，因为每次查询都加载一次，就疑问IO效率很低，如果B+树已经构建好了的话，则不需要。]]></description><category></category></item><item><title><![CDATA[IP报文详解]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/141284355</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/141284355</guid><author>Lin5200000</author><pubDate>Sat, 17 Aug 2024 17:54:06 +0800</pubDate><description><![CDATA[当片偏移量为0的时候，那么可以说明这是第一个报文，如果此时的"更多分片"标志位为1，则说明后面还有分片，那么当前分片就是第一个分片。最后一个分片报文因为后面没有分片了，所以它的"更多分片"标志位为0，并且片偏移量一定大于0。那么此时这个分片报文就是最后一个分片。]]></description><category></category></item><item><title><![CDATA[TCP的可靠机制]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/140794942</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/140794942</guid><author>Lin5200000</author><pubDate>Tue, 30 Jul 2024 13:55:58 +0800</pubDate><description><![CDATA[先来说为什么不能是一次握手如果是一次握手的话，客户端只要发送连接，服务器就认为连接成功了。那么客户端是不是可以同时发送大量的SYN连接请求，而服务器每收到一个连接请求就建立一个连接。因为每建立一个连接就要消耗一份系统资源，而客户端那边发起连接请求几乎没有成本。所以服务器最终会不会因为连接请求过多而导致崩溃呢？答案是会的！而同时发送大量SYN连接请求这种行为，也被称为SYN洪水攻击为什么不能是2次握手？2次握手和1次握手的本质是一样的。只要客户端发送SYN，服务器就认为已经连接成功了！]]></description><category></category></item><item><title><![CDATA[【计算机网络】TCP报文详解]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/139640732</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/139640732</guid><author>Lin5200000</author><pubDate>Thu, 13 Jun 2024 08:07:00 +0800</pubDate><description><![CDATA[其实协议的形式都是一个结构化的数据，TCP协议也不例外。一起来看看TCP协议的报头是怎么样的。以上就是TCP报头，实际上是一个结构化的数据，也就是一个结构体。其中16位源端口号，就是你当前发送报文的端口号。目的端口号则是目标主机的端口号。这也就是我们在用accept时，能够获取连接套接字的同时，还能获取到对端主机的端口号(ip也获取到了，这个在网络层的时候解释)。而目的端口号也很好理解，因为端口号能够确定一台主机中唯一的一个进程。当你的报文被发送到对端主机的时候，就能够通过端口号去锁定对应的PCB进程。]]></description><category></category></item><item><title><![CDATA[Http协议之 Cookie 和 Session]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/138197894</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/138197894</guid><author>Lin5200000</author><pubDate>Thu, 25 Apr 2024 19:38:14 +0800</pubDate><description><![CDATA[相信我们在登陆一些网站的时候，比如说哔哩哔哩，csdn等网站的时候。我们登陆了一次过后，之后的一段时间内就不需要再次登录了，而是进入这些网站之后自动就给登陆了。这又是什么原理呢？？？很简单，自然是我们的浏览器保存了cookie信息，而之后每次向该网站发送http请求时，就会自动把cookie信息发送给服务器。因为http是无状态的！！所以对方不知道你现在是否已经登陆！]]></description><category></category></item><item><title><![CDATA[Https协议如何保证安全性？]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/137995162</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/137995162</guid><author>Lin5200000</author><pubDate>Sat, 20 Apr 2024 11:54:38 +0800</pubDate><description><![CDATA[在对摘要进行数据签名(签名下面会说，就是对摘要的一种加密)。随后把加密后的摘要发送到百度网盘的服务器，而百度网盘的服务器会在后台进行查找。看摘要是否存在，如果摘要不存在，则让你上传，并把该摘要保存一份，建立摘要与文件的映射关系。如果摘要存在，则找到摘要对应的文件，创建一个软链接，给你的账户映射。所以这样就可以保证，网盘中真正存储的文件只有一份(也有可能有备份)。摘要是一串固定长度的字符串，当你上传文件的时候先文件进行hash散列然后形成摘要发送给网盘服务器，网盘服务器去判断摘要是否存在。]]></description><category></category></item><item><title><![CDATA[让你的进程24小时在linux上运行]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/137691432</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/137691432</guid><author>Lin5200000</author><pubDate>Fri, 12 Apr 2024 18:56:39 +0800</pubDate><description><![CDATA[可能我们都在使用xshell时，都会遇到一些问题，就是你在xshell运行了你的服务器。可是你把xshell页面一关，你的服务器就自动关闭了，这是为什么呢？？本质是因为我们的xshell在登陆服务器时，会创建一个会话，而在这个会话中，只能允许一个进程在前台运行，多个进程在后台运行。而会话退出时会话的内容也会跟着退出，因为会话的内容都是以bash为父进程创建的。我们在命令行输入执行的进程，都是以bash为父进程创建的。我们还要明白一个进程组的概念，我们可以分别执行和。]]></description><category></category></item><item><title><![CDATA[UDP实现Mini版在线聊天室]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/137616486</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/137616486</guid><author>Lin5200000</author><pubDate>Wed, 10 Apr 2024 23:53:25 +0800</pubDate><description><![CDATA[只有当客户端先对服务器发送online消息的时候，服务器才会把客户端加入到在线列表。当在线列表的用户发消息的时候，服务器会把消息广播给在线列表中的所有用户。而当用户输入offline时，表明自己要下线了，此时服务器把该用户踢出在线列表。此时的用户看不到公屏的信息也无法在发送信息。只要把用户踢出在线列表，那么它就是离线了，因为服务器只关心在线列表中的客户。]]></description><category></category></item><item><title><![CDATA[Udp实现一个小型shell]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/135313826</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/135313826</guid><author>Lin5200000</author><pubDate>Sun, 31 Dec 2023 10:34:52 +0800</pubDate><description><![CDATA[首先我们要有个客户端和一个服务器，客户端向服务器传递命令。而服务器收到命令后创建一个管道，并fork一个子进程。随后子进程解析命令，再把标准输出换成管道文件，因为命令行命令是自动输出到显示器的，所以我们要把命令的结果重定向到管道文件。然后服务器主进程等待子进程返回的结果，并把结果返回给客户端。]]></description><category></category></item><item><title><![CDATA[【计算机网络】网络基础]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/135066648</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/135066648</guid><author>Lin5200000</author><pubDate>Mon, 18 Dec 2023 16:49:37 +0800</pubDate><description><![CDATA[OSI七层模型，自顶向下分别是： 应用层 -> 表示层 -> 会话层 -> 传输层 -> 网络层 -> 数据链路层  -> 物理层。而实际上表示层和会话层都属于应用层，所以也有另一种说法，那就是TCP/IP五层模型。也就是 : 应用层->传输层->网络层->数据链路层->物理层。为什么要设置这么多层呢？这是因为分层是有优势的，  分层可以让每个模块之间的耦合度降低，也可以把每一层的功能集中，每一层做每一层应该做的事而互不影响。这也是软件设计中一个很重要的思想，那就是而每一层也都有自己要做的事。]]></description><category></category></item><item><title><![CDATA[网络编程之套接字]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/134755617</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/134755617</guid><author>Lin5200000</author><pubDate>Sat, 02 Dec 2023 18:05:47 +0800</pubDate><description><![CDATA[套接字的创建(UDP/TCP/服务端/客户端)int domain : 通信范围，例如AF_UNIX，AF_LOCAL是本地通信，AF_INET是IPV4，AF_INET6是IPV6int type: 通信类型，最常见的是TCP的SOCK_STREAM面向字节流，UDP的SOCK_DGRAM面向数据报int protocol: 确定socket支持的哪个协议，一般默认为0即可。返回值：一个文件描述符，小于0则代表创建套接字(打开文件)失败端口号绑定(UDP/TCP/服务端/客户端)]]></description><category></category></item><item><title><![CDATA[POSIX信号量]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/134482515</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/134482515</guid><author>Lin5200000</author><pubDate>Sat, 18 Nov 2023 19:43:14 +0800</pubDate><description><![CDATA[POSIX信号量用于同步操作，达到无冲突访问临界资源的目的，可以用于线程之间的通信。而信号量的本质其实就是一把计数器！！而我们对计数器有2个操作，一个是增加计数器的值，一个是减少计数器的值。而信号量的P,V操作都是原子的！当信号量计数为0时执行P操作。那么该线程就会进入等待，直到信号量计数不为0才会继续唤醒。而此时另一个线程就可以对信号量进行V操作，让计数器++，从而唤醒之前进入等待的线程。]]></description><category></category></item><item><title><![CDATA[并发编程之生产者消费者模型]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/134426927</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/134426927</guid><author>Lin5200000</author><pubDate>Wed, 15 Nov 2023 19:03:09 +0800</pubDate><description><![CDATA[生产者消费者模型是多线程中一个比较典型的模型。打个比方：你是一个客户，你去超市里买火腿肠。这段话中的 "你"就是消费者， 那么给超市提供火腿肠的供货商就是生产者。超市呢？超市是不是被所有人所共享？大家都可以去访问超市，所以这里的超市是一份临界资源。所以生产者消费者有三种关系，两种角色，一个交易场所。1.生产者与生产者2.消费者与消费者3.生产者与消费者生产者与生产者是竞争关系，因为厂商之间互相竞争。所以生产与生产者是关系。]]></description><category></category></item><item><title><![CDATA[【Linux】线程同步]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/134065833</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/134065833</guid><author>Lin5200000</author><pubDate>Thu, 26 Oct 2023 22:05:51 +0800</pubDate><description><![CDATA[一篇文章教你如何实现线程同步]]></description><category></category></item><item><title><![CDATA[线程安全之锁的原理]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/133934693</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/133934693</guid><author>Lin5200000</author><pubDate>Thu, 19 Oct 2023 20:52:26 +0800</pubDate><description><![CDATA[一篇文章教你锁是如何保证自己的原子性的]]></description><category></category></item><item><title><![CDATA[【Linux】线程控制]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/133691159</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/133691159</guid><author>Lin5200000</author><pubDate>Sun, 08 Oct 2023 22:11:46 +0800</pubDate><description><![CDATA[一篇文章让你学会在Linux下控制线程]]></description><category></category></item><item><title><![CDATA[【Linux】线程概念]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/133500563</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/133500563</guid><author>Lin5200000</author><pubDate>Mon, 02 Oct 2023 21:37:25 +0800</pubDate><description><![CDATA[🔥🔥 欢迎来到小林的博客！！🛰️博客主页：✈️🛰️博客专栏：✈️🛰️社区 :✈️。]]></description><category></category></item><item><title><![CDATA[在Linux下安装MySQL]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/133342306</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/133342306</guid><author>Lin5200000</author><pubDate>Wed, 27 Sep 2023 10:18:26 +0800</pubDate><description><![CDATA[🔥🔥 欢迎来到小林的博客！！🛰️博客主页：✈️🛰️博客专栏：✈️🛰️社区 :✈️。]]></description><category></category></item><item><title><![CDATA[深入理解Linux中信号处理过程]]></title><link>https://blog.youkuaiyun.com/Lin5200000/article/details/133254828</link><guid>https://blog.youkuaiyun.com/Lin5200000/article/details/133254828</guid><author>Lin5200000</author><pubDate>Sun, 24 Sep 2023 22:36:33 +0800</pubDate><description><![CDATA[类似handler函数，自己指定函数处理信号。默认和忽略是什么区别？默认是一种默认的处理方式，和忽略的处理方式是直接不处理。]]></description><category></category></item></channel></rss>