<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[如果有一天我能够拥有一个大果园，我愿放下所有追求做个农夫去种田]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ChenMMo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ChenMMo]]></copyright><item><title><![CDATA[Redis分布式锁，使用aop +自定义注解 实现]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/106891626</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/106891626</guid><author>ChenMMo</author><pubDate>Sun, 21 Jun 2020 22:59:37 +0800</pubDate><description><![CDATA[Redis分布式锁实现1.Redis分布式锁理论2.Redis整合 封装服务类3.自定义注解4.Aop实现注解环绕通知、获取注解参数、加锁解锁5.ThreadLocal实现可重入锁
1.Redis分布式锁理论
Redis有一系列的命令，特点是以NX结尾，NX是Not eXists的缩写，如SETNX命令就应该理解为：SET if Not eXists。
设置成功，返回 1 。 设置失败，返回 0
由于Redis为单进程单线程模式，采用队列模式将并发访问变成串行访问，命令是一条一条执行的所以可以利用setNx]]></description><category></category></item><item><title><![CDATA[java反射的一次应用]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/95206913</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/95206913</guid><author>ChenMMo</author><pubDate>Tue, 09 Jul 2019 16:52:23 +0800</pubDate><description><![CDATA[使用java反射，获得类 获得类属性方法。拿到注解，获得注解方法]]></description><category></category></item><item><title><![CDATA[java导出excel表格 使用alibaba easyexcel]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/94851636</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/94851636</guid><author>ChenMMo</author><pubDate>Sat, 06 Jul 2019 13:49:01 +0800</pubDate><description><![CDATA[开发中有好多时候需要导出表格，以往通常使用poi 这些jar进行倒入导出。
最近发现 阿里巴巴的一个 easyexcel 导出非常方便 记录下
项目地址
先添加依赖

        &lt;dependency&gt;
            &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
            &lt;artifactId&gt;easy...]]></description><category></category></item><item><title><![CDATA[shiro + spring boot +jwt  无状态权限认证]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/94227482</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/94227482</guid><author>ChenMMo</author><pubDate>Sun, 30 Jun 2019 01:39:16 +0800</pubDate><description><![CDATA[最近的需求是要在项目中加入权限模块。在对接shrio中查找资料遇到了一些问题。所以记录下spring boot 对接 shiro 以及jwt 生成token 做权限校验。
Shiro框架中有三个核心概念：Subject ，SecurityManager和Realms。


Subject
Subject表示 执行当前操作的用户，当然subject 不单单指的是用户，它可以是第三方进程、定时任务，等...]]></description><category></category></item><item><title><![CDATA[Redis安装布隆过滤器插件 bloomfilter]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/93615438</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/93615438</guid><author>ChenMMo</author><pubDate>Tue, 25 Jun 2019 13:44:54 +0800</pubDate><description><![CDATA[服务器系统是Centos的系统  这里写下如何给redis 安装布隆过滤器
wget https://github.com/RedisLabsModules/rebloom/archive/v1.1.1.tar.gz
解压 tar zxvf v1.1.1.tar.gz
cd rebloom-1.1.1
make

执行完成后 看rebloom 目录结构  多了一个 rebloom.so 的文件

...]]></description><category></category></item><item><title><![CDATA[Redis服务停止报错解决方案[NOAUTH Authentication required]]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/93605351</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/93605351</guid><author>ChenMMo</author><pubDate>Tue, 25 Jun 2019 11:47:52 +0800</pubDate><description><![CDATA[Redis服务器设置密码后，使用service redis stop 会出现以下信息：
service redis stop
Stopping …
OK
(error) NOAUTH Authentication required.
Waiting for Redis to shutdown …
Waiting for Redis to shutdown …
Waiting for Redis t...]]></description><category></category></item><item><title><![CDATA[高并发后端设计-限流篇]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/85329694</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/85329694</guid><author>ChenMMo</author><pubDate>Fri, 28 Dec 2018 18:13:47 +0800</pubDate><description><![CDATA[系统在设计之初就会有一个预估容量，长时间超过系统能承受的TPS/QPS阈值，系统可能会被压垮，最终导致整个服务不够用。为了避免这种情况，我们就需要对接口请求进行限流。
限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统，一旦达到限制速率则可以拒绝服务、排队或等待。
常见的限流模式有控制并发和控制速率，一个是限制并发的数量，一个是限制并发访问的速率，另外还可以限制...]]></description><category></category></item><item><title><![CDATA[ConcurrentLinkedQueue的简单使用]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/85329059</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/85329059</guid><author>ChenMMo</author><pubDate>Fri, 28 Dec 2018 17:33:52 +0800</pubDate><description><![CDATA[它是一个基于链接节点的无界线程安全队列。该队列的元素遵循先进先出的原则。头是最先加入的，尾是最近加入的。插入元素是追加到尾上。提取一个元素是从头提取。当多个线程共享访问一个公共 collection 时，ConcurrentLinkedQueue 是一个恰当的选择。该队列不允许null元素
大致是这样的思路，用户请求接口 将用户的请求方到 ConcurrentLinkedQueue  中去。然后按...]]></description><category></category></item><item><title><![CDATA[安卓开发：viewpager + fragment 实现滑动切换]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/81297363</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/81297363</guid><author>ChenMMo</author><pubDate>Tue, 31 Jul 2018 10:18:29 +0800</pubDate><description><![CDATA[时间紧迫 长话短说  以后再补上 
布局文件、



&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;RelativeLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:id=&quot;@android:id/tabhost&quot;
    android:l...]]></description><category></category></item><item><title><![CDATA[随笔记：记一次安卓开发中常用到的插件以及踩过的坑]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/81209684</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/81209684</guid><author>ChenMMo</author><pubDate>Wed, 25 Jul 2018 21:05:40 +0800</pubDate><description><![CDATA[整合一些安卓开发中一些小白问题，以及常用的插件

隐藏标题栏

继承AppCompatActivity类 
   有两种方式 
   1.在 setContentView();之前设置   getSupportActionBar().hide();

2.在文件AndroidManifest.xml  设置android:theme=”@style/Theme.AppCompat.Light.No...]]></description><category></category></item><item><title><![CDATA[Android中Fragment嵌套Fragment，切换Fragment时不显示视图的原因及解决方法]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/81146156</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/81146156</guid><author>ChenMMo</author><pubDate>Sat, 21 Jul 2018 16:30:07 +0800</pubDate><description><![CDATA[项目中经常会用到ViewPager配合Fragment进行滑动视图的实现，经常配合FragmentPagerAdapter一起使用。

原因是：子fragment用父fragment的FragmentManager了，然后不会出来内容。

解决方法：在初始化FragmentPagerAdapter的时候不要传入getFragmentManager(),

而应该传入getChildFragment...]]></description><category></category></item><item><title><![CDATA[安卓开发：listview长按进入多选删除操作]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/80952504</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/80952504</guid><author>ChenMMo</author><pubDate>Sat, 07 Jul 2018 16:25:47 +0800</pubDate><description><![CDATA[在实际开发中有好多多选删除的使用场景，我们现在遇到的是，listview  里边是一个 BaseAdapter 出来的列表

简单分析下，大概是需要这样操作，首先  listview的 item项里要有一个 多选框 这个多选框 默认是隐藏的。 
一般情况下 点击是要进入详情页面。然后长按的话进入多选删除操作。所以我们这里要设定两个事件 分别为： 
OnClickListener  和 OnLong...]]></description><category></category></item><item><title><![CDATA[安卓开发：安卓底部菜单栏的实现，RadioGroup 和Fragment]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/80867081</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/80867081</guid><author>ChenMMo</author><pubDate>Sat, 30 Jun 2018 15:30:35 +0800</pubDate><description><![CDATA[安卓的底部菜单 有很多实现方式，本文以RadioGroup 作为 底部单选切换。用fragment 作为页面显示隐藏

初次接触安卓开发，有不对的地方大家交流沟通！

首先是布局文件

我们需要一个FrameLayout 放置 Fragment ，以及RadioGroup  放置底部菜单

&amp;lt;RelativeLayout xmlns:android=&quot;http://schemas.andro...]]></description><category></category></item><item><title><![CDATA[Java集合源码剖析——ArrayList源码剖析]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/80866622</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/80866622</guid><author>ChenMMo</author><pubDate>Sat, 30 Jun 2018 14:47:32 +0800</pubDate><description><![CDATA[ArrayList简介

ArrayList是基于数组实现的，是一个动态数组，其容量能自动增长，类似于C语言中的动态申请内存，动态增长内存。

ArrayList不是线程安全的，只能用在单线程环境下，多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类，也可以使用concurrent并发包下的CopyOnWrite...]]></description><category></category></item><item><title><![CDATA[Docker中mysql镜像的使用和外网访问]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/80687726</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/80687726</guid><author>ChenMMo</author><pubDate>Thu, 14 Jun 2018 08:59:42 +0800</pubDate><description><![CDATA[
Pull mysql


执行命令docker pull mysql


创建mysql容器




docker run --name mysql -p3306:3306 -e MYSQL_ROOT_PASSWORD=123456-d mysql


连接mysql


连接的时候，有可能会报两个错误，

caching_sha2_password  Got packets out of or...]]></description><category></category></item><item><title><![CDATA[使用fragment加载自定义fragment出现error inflating class fragment错误解决办法]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/80568717</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/80568717</guid><author>ChenMMo</author><pubDate>Mon, 04 Jun 2018 16:08:30 +0800</pubDate><description><![CDATA[出现这个错误网上大部分方法是


检查fragment包名，support.v4和正常的是不一样的
检查activity，如果使用的是v4包下的fragment，则官方给出的是必须继承FragmentActivity（v4包），也可以使用CompatActivity(v7包，继承自FragmentActivity）
静态加载fragment必须给出id


可能还有其他的一些错误逻辑导致相关错误，...]]></description><category></category></item><item><title><![CDATA[jedis操作 redis]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/80529219</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/80529219</guid><author>ChenMMo</author><pubDate>Thu, 31 May 2018 19:51:18 +0800</pubDate><description><![CDATA[spring mvc  配置 jedis连接池 

首先 maven 依赖 来一下

        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;redis.clients&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;jedis&amp;lt;/artifactId&amp;gt;
            &amp;lt;ve...]]></description><category></category></item><item><title><![CDATA[微信小程序（1） 微信小程序TLS版本大于1.2]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/79724154</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/79724154</guid><author>ChenMMo</author><pubDate>Wed, 28 Mar 2018 10:46:37 +0800</pubDate><description><![CDATA[我自己的服务器是windowsserver2008R2的。

1：开始-&amp;gt;运行-&amp;gt;输入 PowerShell

2：开始-&amp;gt;所有程序-&amp;gt;附件 找到

# Enables TLS 1.2 on windows Server 2008 R2 and Windows 7

# These keys do not exist so they need to be created p...]]></description><category></category></item><item><title><![CDATA[微信开发（5）：公众号消息与事件推送处理]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/78299238</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/78299238</guid><author>ChenMMo</author><pubDate>Sat, 03 Mar 2018 14:47:11 +0800</pubDate><description><![CDATA[1.0 开发背景 
        外包公司，所以各种各样的项目都有接触，有个需求，客户要做不同的二维码，通过二维码关注以后，给用户发送不同的消息，顺便统计用户来源， 
        本文用到了  微信带参数二维码接口和消息管理里的相关接口 
        注意 ：在微信公众号后台，设置了服务器配置  URL  并启用后，会导致 微信后台设置的回复规则，以及底部菜单都全部失效！直接清空了！因为...]]></description><category></category></item><item><title><![CDATA[微信开发（4）：微信第三方开放平台的搭建（java）]]></title><link>https://blog.youkuaiyun.com/ChenMMo/article/details/79429773</link><guid>https://blog.youkuaiyun.com/ChenMMo/article/details/79429773</guid><author>ChenMMo</author><pubDate>Sat, 03 Mar 2018 14:25:53 +0800</pubDate><description><![CDATA[什么是第三方开放平台

来波官方解释： 
 我才是官方文档  


  第三方平台的开放，让公众号或小程序运营者在面向垂直行业需求时，可以通过一键登录授权给第三方开发者，来完成相关能力。


简单的说，就是让公众号授权给第三个开放平台，根据授权不同，第三开放平台可以获取到该公众号的接口权限，从而直接调用微信api，进行公众号开发；

开通创建流程 
    

开发者资质审核通过后，就可以创建第三...]]></description><category></category></item></channel></rss>