<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenyi9304的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenyi9304</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenyi9304]]></copyright><item><title><![CDATA[ZooKeeper实现读写锁]]></title><link>https://blog.youkuaiyun.com/chenyi9304/article/details/100630053</link><guid>https://blog.youkuaiyun.com/chenyi9304/article/details/100630053</guid><author>chenyi9304</author><pubDate>Fri, 23 Aug 2019 13:55:00 +0800</pubDate><description><![CDATA[1 读写锁的概念 
读写锁是计算机程序的并发控制的一种同步机制，用于解决读写问题，读操作可并发重入，写操作是互斥的。 读写锁有多种读写权限的优先级策略，可以设计为读优先、写优先或不指定优先级。 
 
 读优先：允许最大并发的读操作，但可能会饿死写操作；因为写操作必须在没有任何读操作的时候才能...]]></description><category></category></item><item><title><![CDATA[我是如何成为Java阿里P6架构师的成长路径图]]></title><link>https://blog.youkuaiyun.com/chenyi9304/article/details/100630050</link><guid>https://blog.youkuaiyun.com/chenyi9304/article/details/100630050</guid><author>chenyi9304</author><pubDate>Mon, 12 Aug 2019 15:54:00 +0800</pubDate><description><![CDATA[现阶段很多人被表象迷惑，感觉Java的开发人员并不好找工作。 
一部分人就误以为市场饱和了，却没考虑到是自身能力不足，而且他们在学习的过程中往往是这样的： 
 
 对知识点不会筛选，盲目买书看视频，资料堆积如山,什么都不管先学了再说; 
 指望把一本书啃透、一套视频看完,多敲敲写一些就能搞定...]]></description><category></category></item><item><title><![CDATA[百度T8架构师细谈Java架构进阶扫盲清单！（附图文）]]></title><link>https://blog.youkuaiyun.com/chenyi9304/article/details/100630047</link><guid>https://blog.youkuaiyun.com/chenyi9304/article/details/100630047</guid><author>chenyi9304</author><pubDate>Mon, 24 Jun 2019 21:19:00 +0800</pubDate><description><![CDATA[普通程序员写代码叫编码，而架构师写代码就叫架构设计。这是因为他们在编码时考虑的角度完全不同。普通程序员只需要考虑如何实现功能，而优秀的程序员（预备架构师）却更多考虑性能、可读性、可维护性等问题。 
差别在哪里？眼光和格局！ 
可以说，架构师是站得更高、看得更远的优秀程序员。所以，别指望一步到位...]]></description><category></category></item><item><title><![CDATA[Spring Boot Quartz 分布式集群任务调度实现]]></title><link>https://blog.youkuaiyun.com/chenyi9304/article/details/100630045</link><guid>https://blog.youkuaiyun.com/chenyi9304/article/details/100630045</guid><author>chenyi9304</author><pubDate>Fri, 21 Jun 2019 17:50:00 +0800</pubDate><description><![CDATA[主要内容 
 
 Spring Scheduler 框架 
 Quartz 框架，功能强大，配置灵活 
 Quartz 集群 
 mysql 持久化定时任务脚本(tables_mysql.sql) 
 

介绍 
在工程中时常会遇到一些需求，例如定时刷新一下配置、隔一段时间检查下网络状态并发...]]></description><category></category></item><item><title><![CDATA[消息队列的消费语义和投递语义]]></title><link>https://blog.youkuaiyun.com/chenyi9304/article/details/100630043</link><guid>https://blog.youkuaiyun.com/chenyi9304/article/details/100630043</guid><author>chenyi9304</author><pubDate>Wed, 19 Jun 2019 14:41:00 +0800</pubDate><description><![CDATA[引言 
所谓的消费语义，指的就是如下三种情况 
 
 如何保证消息最多消费一次 
 如何保证消息至少消费一次 
 如何保证消息恰好消费一次 
 
其实类似还有一个投递语义 
 
 如何保证消息最多投递一次 
 如何保证消息至少投递一次 
 如何保证消息恰好投递一次 
 
说句实在话，其实还是...]]></description><category></category></item><item><title><![CDATA[手动实现 SpringMVC]]></title><link>https://blog.youkuaiyun.com/chenyi9304/article/details/100630042</link><guid>https://blog.youkuaiyun.com/chenyi9304/article/details/100630042</guid><author>chenyi9304</author><pubDate>Mon, 17 Jun 2019 17:21:00 +0800</pubDate><description><![CDATA[先看整体架构 
 
因为我们这个 MVC 框架要依赖 IOC/DI 容器，所以我们在 pom 文件里要将自己的 Spring 框架引入进来。 
 

实现 MVC 的整体功能 
首先我们定义两个 MVC 专用的注解，RequestMapping 用来做 url 匹配，RequestParam...]]></description><category></category></item></channel></rss>