<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u013407461的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u013407461</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u013407461]]></copyright><item><title><![CDATA[操作系统入门]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/135733383</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/135733383</guid><author>u013407461</author><pubDate>Sun, 21 Jan 2024 19:05:35 +0800</pubDate><description><![CDATA[有了监督程序（操作系统的前身），能够识别多个任务的开始和结束。一个任务处理完成，并且存储好之后再读取下一个，任务到内存，再运行，在存储。加载任务到内存·、cpu执行、写会到磁盘。]]></description><category></category></item><item><title><![CDATA[Spring三级缓存]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/133910819</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/133910819</guid><author>u013407461</author><pubDate>Wed, 18 Oct 2023 17:21:24 +0800</pubDate><description><![CDATA[否则，注入的就是一个原始对象，而不是代理对象。B在属性填充时发现自己需要A对象，从第1级缓存singletonObjects和第2级缓存earlySingletonObjects中未发现A，但是在第3级缓存singletonFactories中发现A，将A放入第2级缓存earlySingletonObjects，同时从第3级缓存singletonFactories删除。A在属性填充时发现自己需要B对象，但是在三级缓存中均未发现B，于是创建B的半成品，放入第3级缓存singletonFactories。]]></description><category></category></item><item><title><![CDATA[缓存的读写模式]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/132657442</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/132657442</guid><author>u013407461</author><pubDate>Sun, 03 Sep 2023 23:38:14 +0800</pubDate><description><![CDATA[如果没有申请一块空间，如果缓存中有脏数据，则把脏数据刷入数据库。如果没有则从数据库读取数据写入缓存，并且标明不是脏数据。并判断是否有脏数据，有脏数据就刷入数据库，然后写入缓存，并标明是脏数据；如果没有脏数据，直接写入缓存。2.1读模式：有数据从缓存读取数据，缓存中没有数据，交给中间件加载到缓存。从缓存中读取数据，如果没有数据从数据库中读取，更新到缓存返回到前端。2.2 写模式：缓存中有数据，直接写入缓存。缓存中没有数据，写失效。判断是否命中换成，命中直接写入，并且标明数据是脏的。写到数据库，删除缓存。]]></description><category></category></item><item><title><![CDATA[过滤器模式]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/132281615</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/132281615</guid><author>u013407461</author><pubDate>Mon, 14 Aug 2023 18:20:51 +0800</pubDate><description><![CDATA[【代码】过滤器模式。]]></description><category></category></item><item><title><![CDATA[流水线模式]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/132279538</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/132279538</guid><author>u013407461</author><pubDate>Mon, 14 Aug 2023 17:15:18 +0800</pubDate><description><![CDATA[【代码】流水线模式。]]></description><category></category></item><item><title><![CDATA[模板方法模式]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/132278111</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/132278111</guid><author>u013407461</author><pubDate>Mon, 14 Aug 2023 16:32:07 +0800</pubDate><description><![CDATA[【代码】模板方法模式。]]></description><category></category></item><item><title><![CDATA[工厂方法模式]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/132275576</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/132275576</guid><author>u013407461</author><pubDate>Mon, 14 Aug 2023 16:00:55 +0800</pubDate><description><![CDATA[下面这个是使用工厂方法的例子，存在什么问题？？]]></description><category></category></item><item><title><![CDATA[spring cloud的使用和理解]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/125226052</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/125226052</guid><author>u013407461</author><pubDate>Fri, 10 Jun 2022 18:16:52 +0800</pubDate><description><![CDATA[spring cloud config理解]]></description><category></category></item><item><title><![CDATA[zuul使用]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/125161677</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/125161677</guid><author>u013407461</author><pubDate>Tue, 07 Jun 2022 11:21:26 +0800</pubDate><description><![CDATA[zuul的使用]]></description><category></category></item><item><title><![CDATA[水平触发和边缘触发]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/123521613</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/123521613</guid><author>u013407461</author><pubDate>Wed, 16 Mar 2022 11:19:37 +0800</pubDate><description><![CDATA[1.水平触发：基于管道轮询的机制。管道中有100k的数据，只读了60k，中断了之后，还是能收到这个管道有数据的通知的。因为后续还是能轮询到这个管道有数据。
2.边缘触发：基于管道状态改变的机制。只处理状改变的管道。管道中有100k的数据，只读了60k，中断了，是读不了剩下的40k。只有新数据进入这个管道时，这个管道状态再次变成“有数据”的状态，才会发送通知。

...]]></description><category></category></item><item><title><![CDATA[java线程池]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/123506855</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/123506855</guid><author>u013407461</author><pubDate>Tue, 15 Mar 2022 17:59:43 +0800</pubDate><description><![CDATA[java线程池一共有4种
线程池的核心参数：核心线程数，最大线程数，空闲线程存活时间，存活时间的单位，等待队列，拒绝策略，线程工厂
线程池的流程
1.执行execute方法，判断当前线程数是否小于核心线程数，如果小于执行addwork方法
2.如果大于核心线程数，判断线程池是否处于正常状态，并且将线程放入阻塞队列中
3.如果成功放入，则判断是否有空闲，如果没有空闲线程，这创建一个新的线程
4.如果失败，参数一次addwork方法，失败后执行拒绝策略
addwork
1.利用cs机制修改线程池的值
2.将线程]]></description><category></category></item><item><title><![CDATA[redis数据淘汰策略]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/123136040</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/123136040</guid><author>u013407461</author><pubDate>Fri, 25 Feb 2022 16:39:13 +0800</pubDate><description><![CDATA[什么redis数据淘汰策略
当内存不足时，Redis会根据配置的缓存策略淘汰部分keys，以保证写入成功。当无淘汰策略时或没有找到适合淘汰的key时，Redis直接返回out of memory错误。
算法区别
LRU，即：最近最少使用淘汰算法（Least Recently Used）。LRU是淘汰最长时间没有被使用的页面。
最后一次使用时间越早越淘汰
LFU，即：最不经常使用淘汰算法（Least Frequently Used）。LFU是淘汰一段时间内，使用次数最少的页面。
种类
1、volatile-l]]></description><category></category></item><item><title><![CDATA[redis：简单动态字符串（SDS）]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/123007835</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/123007835</guid><author>u013407461</author><pubDate>Mon, 21 Feb 2022 11:52:19 +0800</pubDate><description><![CDATA[redis简单动态字符串
]]></description><category></category></item><item><title><![CDATA[ZAB协议]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/123042692</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/123042692</guid><author>u013407461</author><pubDate>Mon, 21 Feb 2022 11:27:58 +0800</pubDate><description><![CDATA[什么是Zab协议：
Zab协议 的全称是 Zookeeper Atomic Broadcast （Zookeeper原子广播）。
Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性。
Zab 协议的特性：
1）Zab 协议需要确保那些已经在 Leader 服务器上提交（Commit）的事务最终被所有的服务器提交。
2）Zab 协议需要确保丢弃那些只在 Leader 上被提出而没有被提交的事务。
Zab过程：
1.myid：用来唯一标识zookeeper的节点
2.zxid：可以理解成事务的]]></description><category></category></item><item><title><![CDATA[CAP意思]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/123042248</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/123042248</guid><author>u013407461</author><pubDate>Mon, 21 Feb 2022 10:42:34 +0800</pubDate><description><![CDATA[CAP理论指的是：一致性（Consistency）、可用性（Availability）和分区容错性（Partition tolerance）。
一致性：所有节点获取的数据的结果是一样的。
可用性：任何时候都可以访问，数据不一定是最新的。
分区容错性能：一个节点挂掉，系统还能用。

...]]></description><category></category></item><item><title><![CDATA[JAVA的锁]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/123005429</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/123005429</guid><author>u013407461</author><pubDate>Fri, 18 Feb 2022 16:00:54 +0800</pubDate><description><![CDATA[java锁的学习]]></description><category></category></item><item><title><![CDATA[happens-before原则]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/122938093</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/122938093</guid><author>u013407461</author><pubDate>Tue, 15 Feb 2022 10:38:40 +0800</pubDate><description><![CDATA[happens-before]]></description><category></category></item><item><title><![CDATA[结构模式-桥接模式]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/122865067</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/122865067</guid><author>u013407461</author><pubDate>Thu, 10 Feb 2022 18:12:49 +0800</pubDate><description><![CDATA[结构模式-桥接模式]]></description><category></category></item><item><title><![CDATA[设计模式-创建型、结构型、行为型之间的区别]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/122561069</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/122561069</guid><author>u013407461</author><pubDate>Tue, 18 Jan 2022 15:49:20 +0800</pubDate><description><![CDATA[设计模式主要解决，对象的创建、对象之间耦合，对象的功能
创建型：
问题：对象创建时，会出现代码的冗余和不能重复利用代码的问题，另外对象的创建是一个耗时的过程，如何复用之前已有对象。
目的：简化对象的创建过程，提高代码的复用和对已有对象的复用。
工厂方法模式（Factory Method）
抽象工厂模式（Abstract Factory）
创建者模式（Builder）
原型模式（Prototype）
单例模式（Singleton）
结构型：
问题：对象创建问题解决了。但是对象与对象之间存在大量的耦合，改动其中]]></description><category></category></item><item><title><![CDATA[HashMap源码详解]]></title><link>https://blog.youkuaiyun.com/u013407461/article/details/122326392</link><guid>https://blog.youkuaiyun.com/u013407461/article/details/122326392</guid><author>u013407461</author><pubDate>Mon, 10 Jan 2022 18:19:46 +0800</pubDate><description><![CDATA[HashMap源码详解]]></description><category></category></item></channel></rss>