<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ProgrammerChe的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ProgrammerChe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ProgrammerChe]]></copyright><item><title><![CDATA[Jenkins自动化部署]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/120072216</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/120072216</guid><author>ProgrammerChe</author><pubDate>Fri, 03 Sep 2021 00:08:38 +0800</pubDate><description><![CDATA[基于Springboot以及Gitee的Jenkins自动化部署

本次教程环境准备：

主要在centOS的Minimal版本下完成，需要下载vmware以及[镜像文件](链接：https://pan.baidu.com/s/13VoGLwBwHQI8EbdaPxfQbg
提取码：cg8q[)。
ssh工具（本文使用finalShell），官网下载地址：http://www.hostbuf.com/t/988.html
jdk下载、解压并配置环境变量（本文使用jdk1.8），通过java -version]]></description><category></category></item><item><title><![CDATA[mybatis批量新增返回主键问题]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/119412840</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/119412840</guid><author>ProgrammerChe</author><pubDate>Thu, 05 Aug 2021 11:28:21 +0800</pubDate><description><![CDATA[mybatis批量新增返回主键问题
简洁明了，不要前言，不要文字介绍，不要拖拖拉拉…
在Mybatis场景下做单条记录新增操作如下
&lt;insert id="insertUser" parameterType="com.cg.input.UserInput"&gt;
	insert into t_user(username,password,role)
	values (
		#{username,jdbcType=VARCHAR},
		#{password,jdbcType=VARCHAR},
		]]></description><category></category></item><item><title><![CDATA[一文彻底搞懂ThreadLocal]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/119385452</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/119385452</guid><author>ProgrammerChe</author><pubDate>Wed, 04 Aug 2021 15:38:52 +0800</pubDate><description><![CDATA[ThreadLocal
前言：在处理多线程并发安全的方法中，我们最常用的是通过锁来控制不同线程对临界区的访问，但即使加入乐观锁或悲观锁来控制多线程对于共享变量的控制，也会存在并发冲突，同时造成性能的影响。目前我们想彻底避免竞争，那threadLocal则是一个很好的选择了。
ThreadLocal是什么
定义：threadLocal顾名思义作为的是本地线程变量，其作用主要就是做数据隔离，保证在多线程环境下每个线程都独立包含一个变量，防止其他线程篡改。它提供了一种将可变数据通过每个线程有自己的独立副本从而实现]]></description><category></category></item><item><title><![CDATA[白嫖之路—内网穿透]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/118658466</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/118658466</guid><author>ProgrammerChe</author><pubDate>Sun, 11 Jul 2021 21:01:43 +0800</pubDate><description><![CDATA[前言

随着云服务器价格的水涨船高，从一个唯一的IP到购买一个自己的域名都是一笔不小的开销，也使得许多“家境贫寒”的阿猿望尘莫及，不管是装13还是外包项目demo展示等，其实很多人都仅仅只是想要一个公网地址去让别人能够访问自己的东西，对于云服务器的需求并不大，所以我们也仅仅只需要做一下内网穿透使别人能够通过某一个固定域名绑定访问本地某一个服务就行了，不是所有的内网穿透方式都是免费的，但需求没到那一块儿何必要花钱，白嫖不香吗？

内网穿透是什么？

    内网穿透又叫NAT穿透，是计...]]></description><category></category></item><item><title><![CDATA[分布式锁详解（数据库、Redis实现）]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/118148197</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/118148197</guid><author>ProgrammerChe</author><pubDate>Tue, 06 Jul 2021 11:09:16 +0800</pubDate><description><![CDATA[分布式CAP理论

什么是CAP？

    CAP原则又称为CAP理论。主要思想为任意分布式系统都无法同时满足CAP。

C代表Consistency（一致性）：所有节点在同一时间看到的数据是一样的。

Available（可用性）：请求就一定能接收到响应。

Partion Tolerance（分区容错性）：系统任意分区后，网络不稳定或异常情况下仍能操作。

CAP之间的取舍

CA（without P）

    保证一致性和可用性，不允...]]></description><category></category></item><item><title><![CDATA[Java8-11新特性总结(六) 并行数据处理与性能]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117741289</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117741289</guid><author>ProgrammerChe</author><pubDate>Wed, 09 Jun 2021 14:21:08 +0800</pubDate><description><![CDATA[为加速数据集的处理,往往需要额外的显式优化，通过Stream来对集合中的元素执行操作流水线，以此来充分利用计算机的多个核，这意味着需要对数据进行并行处理，而在Java7之前对于集合数据执行并行处理的操作：

1、手动将数据的数据结构拆分为多个子部分。

2、分配给每个子部分一个独立的线程。

3、可能需要进行同步操作来避免竞争条件，当所有单独线程完成后进行合并。

自Java7引入"分支/合并"(Fork/Join)的框架后，则很好的解决了这个问题。

什么是Fork/Join框架？

 ...]]></description><category></category></item><item><title><![CDATA[Java8-11新特性总结(五) Stream]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117629746</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117629746</guid><author>ProgrammerChe</author><pubDate>Tue, 08 Jun 2021 14:05:29 +0800</pubDate><description><![CDATA[Java 8 Stream

介绍

Java 8 API 添加了一种新的抽象称为流Stream，Stream以一种声明的方式处理数据。
	Stream以一种
]]></description><category></category></item><item><title><![CDATA[Java8-11新特性总结(四)]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117620782</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117620782</guid><author>ProgrammerChe</author><pubDate>Sun, 06 Jun 2021 15:51:29 +0800</pubDate><description><![CDATA[1、方法引用

什么是方法引用？

方法引用指通过方法名指向一个方法

为什么要使用方法引用？

方法引用可以使语言的构造更紧凑简洁，减少冗余代码。
]]></description><category></category></item><item><title><![CDATA[Java8-11新特性总结(三)]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117599408</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117599408</guid><author>ProgrammerChe</author><pubDate>Sat, 05 Jun 2021 19:22:06 +0800</pubDate><description><![CDATA[函数式接口

什么是函数式接口？

函数式接口指的是接口中只有一个抽象方法的函数。

说明：

函数式接口中可以包含默认实现的方法,
]]></description><category></category></item><item><title><![CDATA[Java8-11新特性总结(二)]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117594228</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117594228</guid><author>ProgrammerChe</author><pubDate>Sat, 05 Jun 2021 15:11:28 +0800</pubDate><description><![CDATA[Java8设计的三个编程概念


	流处理
	
	
	用行为参数化把代码传递给方法
	
	
	并行和共享的可变数据
	
]]></description><category></category></item><item><title><![CDATA[Java8-11新特性总结(一)]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117588616</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117588616</guid><author>ProgrammerChe</author><pubDate>Sat, 05 Jun 2021 11:42:46 +0800</pubDate><description><![CDATA[...]]></description><category></category></item><item><title><![CDATA[简单的难题(一) Java]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117586821</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117586821</guid><author>ProgrammerChe</author><pubDate>Sat, 05 Jun 2021 10:16:44 +0800</pubDate><description><![CDATA[在不使用新变量的前提下,交换变量a和变量b的值(int a = 10,int b = 20)


]]></description><category></category></item><item><title><![CDATA[Java运算符(一)]]></title><link>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117220270</link><guid>https://blog.youkuaiyun.com/ProgrammerChe/article/details/117220270</guid><author>ProgrammerChe</author><pubDate>Mon, 24 May 2021 14:17:27 +0800</pubDate><description><![CDATA[移位运算符 "&lt;&lt;","&gt;&gt;","&gt;&gt;&gt;"

有符号左移位,将其转换为二进制后向左移动位数,低位用0填充
]]></description><category></category></item></channel></rss>