<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wujun2412的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wujun2412</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wujun2412]]></copyright><item><title><![CDATA[Mybatis映射器insert元素useGeneratedKeys ，keyColumn，keyProperty作用和用法]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/127268242</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/127268242</guid><author>wujun2412</author><pubDate>Tue, 11 Oct 2022 17:50:16 +0800</pubDate><description><![CDATA[执行insert后返回插入的条数，在配置了useGeneratedKeys ，keyColumn，keyProperty参数后，主键的值写入到我们配置的keyProperty(此处为User对象的id字段中)，插入完成之后mybatis会帮我们将生成的主键刷新到我们的实体类中，之后就可以直接使用了。]]></description><category></category></item><item><title><![CDATA[@Autowired 自动装配]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/123684619</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/123684619</guid><author>wujun2412</author><pubDate>Fri, 25 Mar 2022 16:46:29 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[CopyOnWriteArrayList]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/123654484</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/123654484</guid><author>wujun2412</author><pubDate>Tue, 22 Mar 2022 17:23:09 +0800</pubDate><description><![CDATA[CopyOnWriteArrayList
  ArrayList是非线程安全的，也就是说在多个线程下进行读写，会出现异常。既然是非线程安全，那我们就使用一些机制把它变安全不就好了。变安全的方法有很多。比如说替换成Vector，再或者是使用 Collections，可以将 ArrayList 包装成一个线程安全的类。不过这两种方法也有很大的缺点，那就是他们使用的都是独占锁，独占式锁在同一时刻只有一个线程能够获取，效率太低。于是CopyOnWriteArrayList 应用而生了。
介绍

CopyOnWrit]]></description><category></category></item><item><title><![CDATA[spring bean生命周期]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/123576012</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/123576012</guid><author>wujun2412</author><pubDate>Fri, 18 Mar 2022 16:56:16 +0800</pubDate><description><![CDATA[spring bean生命周期


]]></description><category></category></item><item><title><![CDATA[spring之Aware接口]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/123426100</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/123426100</guid><author>wujun2412</author><pubDate>Fri, 11 Mar 2022 17:34:45 +0800</pubDate><description><![CDATA[Aware接口介绍]]></description><category></category></item><item><title><![CDATA[spring如何解决循环依赖]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/123392678</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/123392678</guid><author>wujun2412</author><pubDate>Thu, 10 Mar 2022 17:25:04 +0800</pubDate><description><![CDATA[spring解决循环依赖问题]]></description><category></category></item><item><title><![CDATA[apache的HttpClient使用总结]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/120704886</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/120704886</guid><author>wujun2412</author><pubDate>Mon, 11 Oct 2021 16:20:37 +0800</pubDate><description><![CDATA[目录



1.前言

2.Apache官网例子

3.HttpClient及其连接池配置

4.MaxtTotal和DefaultMaxPerRoute的区别

5.HttpClient连接池模型

6.HttpClient从连接池中获取连接源码分析

7.HttpClient从连接池中获取连接流程图

8.连接重用和保持策略

8.1.HttpClientBuilder创建MainClientExec

8.2.ConnectionReuseStrategy(连接重用策略)

8.3.MainCl...]]></description><category></category></item><item><title><![CDATA[ubuntu Nginx源码安装并启动]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/108579085</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/108579085</guid><author>wujun2412</author><pubDate>Mon, 14 Sep 2020 15:06:19 +0800</pubDate><description><![CDATA[一：官方下载nginx源包

官方下载地址：http://nginx.org/en/download.html

下载版本：nginx 1.16.1 下载地址是：http://nginx.org/download/nginx-1.16.1.tar.gz

可以先点击CHANGES 查看一下改动，查看一些新版本的新特性，寻找最适合自己的nginx版本

二：编译安装

2.1：解压缩

tar zxvf nginx-1.16.1.tar.gz

2.2：编译安装

2.2.1 编译

编译选项官方提供的有：.]]></description><category></category></item><item><title><![CDATA[Java序列化和反序列化为啥要实现Serializable接口]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/106850164</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/106850164</guid><author>wujun2412</author><pubDate>Fri, 19 Jun 2020 10:55:19 +0800</pubDate><description><![CDATA[最近整理代码规范的时候, 发现项目中dto和model包下的类都实现了Serializable接口, 同时还显示指定serialVersionUID的值. , 我脑海里就突然出现了好几个问题, 比如说:

(1) 序列化和反序列化是什么?

(2) 实现序列化和反序列化为什么要实现Serializable接口?

(3) 实现Serializable接口后, 为什么还要显示指定serialVersionUID的值?

(4) 我要为serialVersionUID指定个什么值?

下面我们来一一解答这几个问]]></description><category></category></item><item><title><![CDATA[Apollo配置中心Docker部署]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/106761958</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/106761958</guid><author>wujun2412</author><pubDate>Mon, 15 Jun 2020 15:26:42 +0800</pubDate><description><![CDATA[Apollo开源地址：

https://github.com/ctripcorp/apollo

第一步

将项目clone到本地，git clonehttps://github.com/ctripcorp/apollo.git

第二步

打开clone到本地的项目，目录结构如下



第三步

在此目录下创建apollo-compose.yml文件，写入内容：

version: "3"

services:
 apollo-configservice:           ...]]></description><category></category></item><item><title><![CDATA[Dubbo原理解析-Dubbo内核实现之基于SPI思想Dubbo内核实现（转）]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/79557666</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/79557666</guid><author>wujun2412</author><pubDate>Wed, 14 Mar 2018 17:24:09 +0800</pubDate><description><![CDATA[SPI接口定义

定义了@SPI注解

public @interface SPI {

　　String value() default ""; //指定默认的扩展点

} 


只有在接口打了@SPI注解的接口类才会去查找扩展点实现

会依次从这几个文件中读取扩展点

META-INF/dubbo/internal/   //dubbo内部实现的各种扩展都放在了这个目录了]]></description><category></category></item><item><title><![CDATA[RocketMQ消息类型]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/78562527</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/78562527</guid><author>wujun2412</author><pubDate>Fri, 17 Nov 2017 16:06:27 +0800</pubDate><description><![CDATA[普通消息
普通消息也叫做无序消息，简单来说就是没有顺序的消息，producer 只管发送消息，consumer 只管接收消息，至于消息和消息之间的顺序并没有保证，可能先发送的消息先消费，也可能先发送的消息后消费。
举个简单例子，producer 依次发送 order id 为 1、2、3 的消息到 broker，consumer 接到的消息顺序有可能是 1、2、3，也有可能是 2、1、3 等情况，]]></description><category></category></item><item><title><![CDATA[RocketMQ 快速入门]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/78562472</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/78562472</guid><author>wujun2412</author><pubDate>Fri, 17 Nov 2017 16:02:14 +0800</pubDate><description><![CDATA[转摘：http://www.jianshu.com/p/824066d70da8RocketMQ 是什么
Github 上关于 RocketMQ 的介绍：

RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。具有以下特性：

支持发布/订阅（Pub/Sub）和点对点（P2P）消息模型
在一个队列中可靠的先进先出（FIFO）和严格的顺序传递
支持拉（pull）和推（push）两种]]></description><category></category></item><item><title><![CDATA[MySQL 修改表结构性能问题]]></title><link>https://blog.youkuaiyun.com/wujun2412/article/details/78537923</link><guid>https://blog.youkuaiyun.com/wujun2412/article/details/78537923</guid><author>wujun2412</author><pubDate>Wed, 15 Nov 2017 10:15:45 +0800</pubDate><description><![CDATA[引自：http://blog.youkuaiyun.com/dba_waterbin/article/details/17884549

ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN

MySQL的ALTER TABLE操作常令DBA闻而变色，即使有Percona的OSC保驾护航，依然不堪轻易出手，但不是所有的ALTER TABLE都会引起表重建，从而需要]]></description><category></category></item></channel></rss>