<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Souwy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Souwy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Souwy]]></copyright><item><title><![CDATA[适配器模式和装饰器模式]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/135700075</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/135700075</guid><author>Souwy</author><pubDate>Fri, 19 Jan 2024 15:50:25 +0800</pubDate><description><![CDATA[装饰器模式（Decorator Pattern）也是一种结构型设计模式，它允许向一个现有的对象添加新的功能，同时又不改变其结构。这种类型的设计模式属于结构型模式，它在一个已有类上增加新的行为。装饰器模式使用对象组合而非继承来实现新功能的扩展。通过创建一个包装对象以包含原始对象，可以提供额外的功能运行时被添加到对象中。]]></description><category></category></item><item><title><![CDATA[MVCC的定义与原理]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/135649717</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/135649717</guid><author>Souwy</author><pubDate>Wed, 17 Jan 2024 14:26:13 +0800</pubDate><description><![CDATA[MVCC，全称为多版本并发控制（Multi-Version Concurrency Control），是一种用于解决数据库读写冲突的技术。在传统的数据库锁定机制中，当一个事务正在对数据进行修改时，其他事务无法同时访问该数据，这就可能导致了资源的浪费和效率的降低。而MVCC则通过创建数据的多个版本来避免这种情况，使得在一个事务正在修改数据的同时，其他事务仍然可以读取到数据的旧版本。]]></description><category></category></item><item><title><![CDATA[操作系统 - 进程管理（前趋图）]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/135505844</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/135505844</guid><author>Souwy</author><pubDate>Wed, 10 Jan 2024 15:59:00 +0800</pubDate><description><![CDATA[前趋图是一种有向无环图（Directed Acyclic Graph, DAG），用于表示进程或任务之间的优先级或执行顺序。在这个图中，节点代表进程或任务，而边则表示两个进程之间的依赖关系。如果存在从进程A到进程B的边，那么我们可以说进程A是进程B的前趋，意味着进程B必须等待进程A完成后才能开始执行。]]></description><category></category></item><item><title><![CDATA[什么是傻蛋(胡邹八道)]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/135151667</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/135151667</guid><author>Souwy</author><pubDate>Fri, 22 Dec 2023 14:10:45 +0800</pubDate><description><![CDATA[在我们心中，傻蛋往往是那个总能带给人们微笑与温暖的存在。他们可能不懂世故，也许行事有些笨拙，但正是这份纯真无邪，构成了傻蛋独特而又可爱的魅力。]]></description><category></category></item><item><title><![CDATA[Netty简单网络游戏（五子棋实现）- 第一版]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/118226405</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/118226405</guid><author>Souwy</author><pubDate>Fri, 25 Jun 2021 18:45:58 +0800</pubDate><description><![CDATA[由于是第一次尝试，所以初级版特别简单。 只具备简单的两人对战
设计棋盘的绘制消息的编写服务端客户端
棋盘的绘制
棋盘的绘制是采用java swing来的。 因为比较方便，我前端比较菜
这里就直接贴代码了
 @Override
        public void paint(Graphics g) {
            Graphics2D g2 = (Graphics2D) g;
            //设置画笔颜色
            g2.drawImage(image, 0, 0, ]]></description><category></category></item><item><title><![CDATA[java实现通用幂等设计]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/116939193</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/116939193</guid><author>Souwy</author><pubDate>Wed, 19 May 2021 12:26:22 +0800</pubDate><description><![CDATA[记一次幂等通用设计
什么是幂等？
通俗的讲就是多次相同的请求理论上得出来的结果是一样的
如何设计
那我们该如何设计？
首先需要了解怎样保持幂等，保持幂等那么需要一个唯一确定的一组键，来表示唯一的一次请求。。 针对这组键我们需要来设计相关的幂等性。最常见的是数据库加上缓存以及加上锁来保持幂等。。
Created with Raphaël 2.2.0开始 发送一个唯一请求 加锁是否存在缓存中？从缓存中拿出结果结束 是否存在数据库中？从数据库中拿出结果 执行目标方法 缓存结果至redis 缓存结果至数据库yesn]]></description><category></category></item><item><title><![CDATA[一个简单的POJO netty客户端和服务端例子]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/116304784</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/116304784</guid><author>Souwy</author><pubDate>Fri, 30 Apr 2021 15:42:26 +0800</pubDate><description><![CDATA[一个简单的POJO netty客户端和服务端例子[代码地址 netty-hello-world](https://github.com/wangdefor/netty-study.git)POJO解码和编码器服务端handler服务主方法客户端客户端主方法
这是一个参考netty官网写的，做了一些改变
版本
代码地址 netty-hello-world
POJO
 		&lt;dependency&gt;
            &lt;groupId&gt;io.netty&lt;/groupId&gt;]]></description><category></category></item><item><title><![CDATA[初识thrift以及相关例子演示]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/106408596</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/106408596</guid><author>Souwy</author><pubDate>Thu, 28 May 2020 17:13:32 +0800</pubDate><description><![CDATA[windows安装thrift
thrift windows下载链接
选中 thrift-0.9.3.exe  
下载完成后 将该文件置于自定义文件夹下面 ， 并修改 thrift-0.9.3.exe  为 thrift.exe。
配置环境变量
在path下加入 D:\Program Files\Thrift  我的是放在 这个目录下
打开cmd 输入 thrift -version 如果出现版本号则代表安装成功
编写.thrift相关的文件
格式标准参考 https://github.com/apache]]></description><category></category></item><item><title><![CDATA[KafKa 2.4.0 源码编译安装过程记录]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/104043376</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/104043376</guid><author>Souwy</author><pubDate>Sun, 19 Jan 2020 17:42:17 +0800</pubDate><description><![CDATA[下载
链接: git地址.  选择一个项目文件夹
git clone https://github.com/apache/kafka.git
进入项目文件选择tag
git tag
我安装的是2.4.0
git checkout  2.4.0
环境
idea 2019.3
java 1.8
gradle 5.6.2
scala  2.12.10
注意idea 需要下载scala插件
以上安装完成后...]]></description><category></category></item><item><title><![CDATA[LDAP基础知识]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/84788210</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/84788210</guid><author>Souwy</author><pubDate>Tue, 04 Dec 2018 16:28:30 +0800</pubDate><description><![CDATA[LDAP基础知识基本概念objectClass介绍示例介绍
基本概念
objectclass：LDAP对象类，是LDAP内置的数据模型。比如我们写了person这个属性类，那么我们就一定需要填写用户名等。各种属性，如果拥有account属性则必须填写uid或者userid属性。  可以拥有多个objectClass但是需要注意有些不能兼容。
Entry：entry可以被称为条目，一个entry就是...]]></description><category></category></item><item><title><![CDATA[xwiki 安装步骤]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/84581043</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/84581043</guid><author>Souwy</author><pubDate>Wed, 28 Nov 2018 11:22:54 +0800</pubDate><description><![CDATA[一 准备  xwiki https://www.xwiki.org/xwiki/bin/view/Download/    下载最新版  war包形式

             jdk1.8 https://www.xwiki.org/xwiki/bin/view/Download/

             tomcat8  https://tomcat.apache.org/downloa...]]></description><category></category></item><item><title><![CDATA[RabbitMq学习（一）]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/83721820</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/83721820</guid><author>Souwy</author><pubDate>Sun, 04 Nov 2018 22:52:22 +0800</pubDate><description><![CDATA[RabbitMq 学习 第一课一  RabbitMq的重要概念二 如何使用rabbitmq提供的客户端
一  RabbitMq的重要概念


Exchanges ：交换器，必须的作用类似于转换器，可以将消息通过routeKey转发到对应的队列中；
routeKey：路由键，类似于路牌，生产着将要发送的消息发到交换器上，并指定路由键，然后交换器通过路由键将消息发送到对应的queue中；
Queue：...]]></description><category></category></item><item><title><![CDATA[SSM分页]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/69230880</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/69230880</guid><author>Souwy</author><pubDate>Wed, 05 Apr 2017 12:15:54 +0800</pubDate><description><![CDATA[SSM（Spring+SpringMVC+MyBatis）分页
采用maven的方式
用了一些spring的拦截器的设置
整合mybatis
  配置db.properties 
  mysql.username=root 
  mysql.password=root 
  mysql.url=jdbc:mysql://localhost:3306/mysql 
  mysql]]></description><category></category></item><item><title><![CDATA[Hibernate+Struts2 分页实现]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/53957122</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/53957122</guid><author>Souwy</author><pubDate>Sat, 31 Dec 2016 17:14:27 +0800</pubDate><description><![CDATA[最近一直在学习Hibernate，在了解Hibernate分页的原理之后，就想自己写一个分页代码。 
在写代码之前，我们需要知道Hibernate的一些分页用到的函数  
setFirstResult（Int i）;//该函数返回的是分页的起点 
setMaxResults(int i);//该函数返回的是最多显示几条数据 
有了这两个函数，就可以得到想要的结果集。 
现在有两个问题 
1.那就是怎]]></description><category></category></item><item><title><![CDATA[文章标题 Hibernate 1-N 双相关联]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/53897685</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/53897685</guid><author>Souwy</author><pubDate>Tue, 27 Dec 2016 17:54:08 +0800</pubDate><description><![CDATA[Hibernate 1-N 双相关联 
Hibernate 可以通过主控方的实体加载被控方的实体，也可以通过被控方加载主控方的实体 
接下来的一个实例将讲解1-n与n-1之间的双向关联； 
1 首先配置hibernate.cfg.xml 文件，该文件放在src目录下（我用得是Hibernate 4.2.21）<?xml version="1.0" encoding="UTF-8"?>
<!DOCTY]]></description><category></category></item><item><title><![CDATA[初识Hibernate]]></title><link>https://blog.youkuaiyun.com/Souwy/article/details/53884896</link><guid>https://blog.youkuaiyun.com/Souwy/article/details/53884896</guid><author>Souwy</author><pubDate>Mon, 26 Dec 2016 11:47:38 +0800</pubDate><description><![CDATA[初试Hibernate最近在学Hibernate，感觉到非常神奇，一般我们操作数据库是通过jdbc，和sql语句。但是Hibernate却通过对象来操作。 
重所周知，Hibernate属于一个持久化ORM（Object/Relation Mapping）框架，他将数据库和对象做了一个映射。下面我们通过一个实例来了解 如下图1 导入相关的Hibernate jar包 （我用的是HIbernate4.]]></description><category></category></item></channel></rss>