<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Z__Sheng的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Z__Sheng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Z__Sheng]]></copyright><item><title><![CDATA[mybatis 千万不要使用 where  1=1]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/110049009</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/110049009</guid><author>Z__Sheng</author><pubDate>Tue, 24 Nov 2020 15:40:35 +0800</pubDate><description><![CDATA[mybatis 千万不要使用 where  1=11.解决方案2.为什么不能使用1=1
1.解决方案
下面是mybatis查询语句，如果我们这次我们将 “state = ‘ACTIVE’” 设置成动态条件，看看会发生什么。
&lt;select id="findActiveBlogLike"
     resultType="Blog"&gt;
  SELECT * FROM BLOG
  WHERE
  &lt;if test="state != null"&gt;
    state = #{state]]></description><category></category></item><item><title><![CDATA[spring boot 简单实现接口端口检测]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/108360302</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/108360302</guid><author>Z__Sheng</author><pubDate>Wed, 02 Sep 2020 14:36:42 +0800</pubDate><description><![CDATA[spring boot 项目启动之前 做接口端口检测前言一、springboot启动类中添加websocket连接总结

前言
 这里主要是用代码的方式实现在服务启动之前，服务先尝试连接一下需要被连接的服务，如果连接失败的话，服务本身启动失败，并且打印启动失败日志

一、springboot启动类中添加websocket连接
1.在启动类中添加方法
public class BacksystemApplication {
	private  static  final Logger logger= Logg]]></description><category></category></item><item><title><![CDATA[@Scheduled 定时任务不生效原因]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/108319700</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/108319700</guid><author>Z__Sheng</author><pubDate>Mon, 31 Aug 2020 14:11:10 +0800</pubDate><description><![CDATA[@Scheduled定时任务 不生效原因及解决办法1.问题描述2.问题复现3.问题解决
1.问题描述
在我们系统设计过程中，需要用到定时器，这时候我们用到了spring的Scheduled。系统逻辑为在每天的23:00:00（ @Scheduled(cron = “0 0 23 * * ?”) ）定时检测系统数据，并进行备份。用到的是cron表达式，自己测试定时器都是正常运行，可是一到测试那边定时器起作用，到了时间点一点变化都没有。
给大家安利一个在线网站，用于定时任务配置https://cron.qqe2]]></description><category></category></item><item><title><![CDATA[spring boot  @Autowired  自动注入为null问题解决]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/107037937</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/107037937</guid><author>Z__Sheng</author><pubDate>Tue, 30 Jun 2020 15:09:37 +0800</pubDate><description><![CDATA[spring boot  @Autowired  自动注入为null问题解决
1.今天在

]]></description><category></category></item><item><title><![CDATA[java从数据库查询出来的时间日期后面多了一个.0]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/104723410</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/104723410</guid><author>Z__Sheng</author><pubDate>Mon, 16 Mar 2020 09:50:58 +0800</pubDate><description><![CDATA[1.现场重现
夜深了，测试小姐姐的一顿电话袭来，张同学，你又出bug啦，你看我这根据搜索条件搜索出来的时分秒后面多了一个.0，这个.0从哪里来的？？？？本来我是想把锅甩给前端开发的。可曾不想，前端说，我只负责对数据渲染，其他的不做任何操作。然后，我就默默地打开了idea…

2.解决方案

...]]></description><category></category></item><item><title><![CDATA[spring boot使用redis实现抢单功能]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/104020019</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/104020019</guid><author>Z__Sheng</author><pubDate>Tue, 21 Jan 2020 14:29:14 +0800</pubDate><description><![CDATA[spring boot使用redis实现抢单功能

]]></description><category></category></item><item><title><![CDATA[redis的几种数据淘汰策略]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/103804989</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/103804989</guid><author>Z__Sheng</author><pubDate>Thu, 02 Jan 2020 15:19:59 +0800</pubDate><description><![CDATA[1.redis的数据淘汰策略

最为大家所熟悉的，就是我们在进行redis存值的时候，可以针对每个key-value设置过期时间，时间到，数据自动删除。但是，当我们每个key-value都设置不过期的话，redis是不是就会被撑爆了呢？答案是不太会的，为什么这样说？是因为当我们的redis内存达到设置的maxmemory的时候，就会使用数据淘汰策略来保证redis的高可用性。

redis的六种淘...]]></description><category></category></item><item><title><![CDATA[解决redis修改默认端口以后再启动不生效]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/103579104</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/103579104</guid><author>Z__Sheng</author><pubDate>Tue, 17 Dec 2019 14:52:41 +0800</pubDate><description><![CDATA[在搭建redis主从复制环境的时候，因为本身我这边就一台电脑。所以，想通过修改redis的默认启动端口来达到一台电脑部署多个redis实例。但是其中有坑，下面听我娓娓道来：文章是基于windows10环境下进行。

1.复现情况：
复制一套新的redis文件，开始大刀阔斧的干。修改配置文件
redis.windows.conf或者redis.windows-service.conf配置文件，进去...]]></description><category></category></item><item><title><![CDATA[Redis连载系列（三） redis的两种持久化方式RDB和AOF]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/103481273</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/103481273</guid><author>Z__Sheng</author><pubDate>Tue, 10 Dec 2019 19:31:32 +0800</pubDate><description><![CDATA[redis的两种持久化方式RDB和AOF

大家好，本篇文章是redis系列第三篇章节，主要是介绍redis的两种持久化方式RDB和AOF。

1. RDB（Redis Database)
RDB主要就是定时将内存里面的数据以二进制的方式写入到dump.rdb里面去。RDB主要是通过快照方式实现的，我们可以在redis配置文件里面配置快照生效规则。RDB持久化方式默认是开启的。
save 900 ...]]></description><category></category></item><item><title><![CDATA[Redis连载系列（二） redis的基本数据类型]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/103404452</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/103404452</guid><author>Z__Sheng</author><pubDate>Thu, 05 Dec 2019 14:49:45 +0800</pubDate><description><![CDATA[大家好，本篇文章是redis系列第二篇章节，主要是介绍redis的几种类型和类型之间的相关操作和数据类型的正确选型。本篇文章是基于springboot进行说明的常规操作

1.简单介绍redis的五种类型
1. string类型
string类型是redis五种数据类型中最简单的也是最常用的数据类型，key-value以字符串形式进行存储，我们可以看到官方文档的介绍https://redis.i...]]></description><category></category></item><item><title><![CDATA[Redis连载系列（一） redis的日常使用]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/103299810</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/103299810</guid><author>Z__Sheng</author><pubDate>Thu, 28 Nov 2019 19:43:03 +0800</pubDate><description><![CDATA[大家好，本篇文章是redis系列开篇第一章节，主要是介绍redis的基本功能和我们项目中如何以正确姿势使用redis。

1.什么是redis,redis有何作用？
下面是来自百度百科的解释：redis是一个key-value存储系统。和Memcached类似，它支持存储的value类型相对更多，包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有...]]></description><category></category></item><item><title><![CDATA[java图片上传保存至服务器并返回可下载的URL]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/103256464</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/103256464</guid><author>Z__Sheng</author><pubDate>Tue, 26 Nov 2019 19:02:46 +0800</pubDate><description><![CDATA[java图片上传保存至服务器并返回可下载的URL1.需求来源2.解决思路3.开始干活（直接上代码）4.总结
1.需求来源

上周要做一个功能，需求是： 微信小程序开发的程序会传一张图片到后台java接口，后台接收到图片保存在数据库。起先，我们是用图片转换成base64编码然后保存在数据库。但是，这样数据量大了以后，传输和查询特别慢。后面改为对上传的图片进行处理，保存到服务器本地文件夹中，并且生成一...]]></description><category></category></item><item><title><![CDATA[ArrayList和Vector源码角度分析增删查]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/102737390</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/102737390</guid><author>Z__Sheng</author><pubDate>Fri, 25 Oct 2019 15:11:04 +0800</pubDate><description><![CDATA[ArrayList和Vector源码角度分析增删查
1.初始化的角度有啥区别2.新增操作 （add）3.获取操作 （get），删除操作（clear、remove）4.总结
)
1.初始化的角度有啥区别
01： arrayList：从下面两张图可以看出来，arraylist的初始化调用了DEFAULTCAPACITY_EMPTY_ELEMENTDATA方法，而DEFAULTCAPACITY_EMPT...]]></description><category></category></item><item><title><![CDATA[springboot 动态加密数据源url、用户名、密码等]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/102623593</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/102623593</guid><author>Z__Sheng</author><pubDate>Fri, 18 Oct 2019 14:07:15 +0800</pubDate><description><![CDATA[springboot 动态加密数据源url、用户名、密码等

jasypt使用的是PBEWithMD5AndDES加密方式，所以每次加密出来的结果都不一样，所以很适合对数据进行加密。有想要了解详细的jasypt使用过程
可以访问官网 http://www.jasypt.org/howtoencryptuserpasswords.html
对应的github地址 https://github.com...]]></description><category></category></item><item><title><![CDATA[java面向对象的三大基本特征和五大原则]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/102579337</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/102579337</guid><author>Z__Sheng</author><pubDate>Wed, 16 Oct 2019 11:13:42 +0800</pubDate><description><![CDATA[java面向对象的三大基本特征和五大原则1. 三大基本特征2. 五大基本原则
1. 三大基本特征
01:封装     封装是面向对象里面最简单的也是最好理解的。通俗一点来讲的话，就是定义了一个类，类里面的方法是私有的，不能够被外界访问，防止其他程序来做更改。一般来说使用private来修饰。封装对数据提供了有效的保护。
02:继承   要记住java中只能单继承，如果要用多个请用实现。继承有子类和...]]></description><category></category></item><item><title><![CDATA[StackExchange.Redis.RedisConnectionException: No connection is available to service this operation:]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/100984781</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/100984781</guid><author>Z__Sheng</author><pubDate>Wed, 18 Sep 2019 16:05:22 +0800</pubDate><description><![CDATA[C#连接redis出现下面错误解决方案
客户端报错如下：
StackExchange.Redis.RedisConnectionException: No connection is available to service this operation: EXISTS UserSysData_1016644; SocketFailure on 192.172.0.128:6379/Interac...]]></description><category></category></item><item><title><![CDATA[String、StringBuffer、StringBuild的区别与联系]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/100538975</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/100538975</guid><author>Z__Sheng</author><pubDate>Thu, 05 Sep 2019 10:14:08 +0800</pubDate><description><![CDATA[这是一个高频考点，一般面试也会遇到，接下来我们会从源码角度区分这三个的区别和实用场景。
1.简单的分析
string: 点开源码。string用的是final类型，表明这个字符串不可变，并且实现了java.io.Serializable, Comparable, CharSequence三个方法。final类表明不能被继承、fina表示成员变量，一旦被修改赋值，就不能再次赋值，只能赋值一次。fin...]]></description><category></category></item><item><title><![CDATA[redis那些事之缓存击穿、缓存雪崩、缓存穿透]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/100177644</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/100177644</guid><author>Z__Sheng</author><pubDate>Sat, 31 Aug 2019 21:38:12 +0800</pubDate><description><![CDATA[1.redis介绍
  大家都知道，当我们项目中需要对外提供一些信息的时候，不可能让其他项目直连我们的数据库，那怎么办呢？ 我们可以项目开放一个接口，提供被调用服务。但是，如果接口访问压力大，怎么办？我们一般引用缓存，用内存方式缓存耦合度比较高，并且不方便管理。此时，我们需要引入redis,redis很好的帮我们解决了这个问题，官网是这样介绍redis的。**但是，如果我们对数据一致性要求比较高的...]]></description><category></category></item><item><title><![CDATA[解决springboot+ellasticsearch+ik分词器，其中ik分词器无法添加到mapping节点问题]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/100144607</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/100144607</guid><author>Z__Sheng</author><pubDate>Fri, 30 Aug 2019 09:37:25 +0800</pubDate><description><![CDATA[1.ellasticsearch添加IK分词器插件
打开网址，我们在使用分词器的时候一定要 使用与elasticsearch版本相同的分词器，对应官网下载地址为IK下载地址，下载解压以后，在elasticsearch的plugins下新建ik文件夹，将下载的ik解压到ik文件下里面即可。
2.用head插件，查看ik分词器是否起作用
我们重启elasticsearch.bat服务，在head页面复...]]></description><category></category></item><item><title><![CDATA[spring boot使用elasticsearch启动报错几种原因分析]]></title><link>https://blog.youkuaiyun.com/Z__Sheng/article/details/100016097</link><guid>https://blog.youkuaiyun.com/Z__Sheng/article/details/100016097</guid><author>Z__Sheng</author><pubDate>Thu, 22 Aug 2019 15:50:48 +0800</pubDate><description><![CDATA[spring boot使用elasticsearch启动报错原因分析
1.我们下载好elasticsearch服务以后，启动E:\elasticsearch-6.4.3\bin下面的elasticsearch.bat，如果是一闪而过的话，一般是有问题的。我们切换cmd，用命令行工具，启动elasticsearch.bat文件，一般错误会显示出来，这种错误一般都是java的环境变量不对，设置下即可。...]]></description><category></category></item></channel></rss>