<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[valleychen1111的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/valleychen1111</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; valleychen1111]]></copyright><item><title><![CDATA[Java并发编程(五)--Condition]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78296049</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78296049</guid><author>valleychen1111</author><pubDate>Fri, 20 Oct 2017 15:31:38 +0800</pubDate><description><![CDATA[简介任意一个java.lang.Object都有一组监视器方法wait()、notify()、notifyAll()，通过这些方法和synchronized关键字配合使用可以实现等待/通知机制。通过这种机制可以轻而易举的实现消费者、生产者模式。具体实现搜索一下有很多 
Condition是在java1.5中引入的，将这些对象与任意 Lock 实现组合使用，可以为每个对象提供多个等待集合。相比Obje]]></description><category></category></item><item><title><![CDATA[Java并发编程(四)--Semaphore]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78062182</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78062182</guid><author>valleychen1111</author><pubDate>Fri, 22 Sep 2017 13:54:09 +0800</pubDate><description><![CDATA[1.简介

java.util.concurrent.Semaphore是一个计数信号量类，维持一个许可集合。每个acquire方法调用如果必要会阻塞直到获得一个可用许可。每个release调用增加一个许可。 
在创建时可以传入int permits许可数、boolean fair是否公平，总体结构和可重入锁ReentrantLock类似，内部维持一个Semaphore.Sync类型同步器，有公平]]></description><category></category></item><item><title><![CDATA[springmvc限流拦截器]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78038366</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78038366</guid><author>valleychen1111</author><pubDate>Wed, 20 Sep 2017 10:58:59 +0800</pubDate><description><![CDATA[springmvc限流拦截器限流器算法目前常用限流器算法为两种：令牌桶算法和漏桶算法，主要区别在于：漏桶算法能够强行限制请求速率，平滑突发请求，而令牌桶算法在限定平均速率的情况下，允许一定量的突发请求 
下面是从网上找到的两张算法图示，就很容易区分这两种算法的特性了
漏桶算法
令牌桶算法
针对接口来说，一般会允许处理一定量突发请求，只要求限制平均速率，所以令牌桶算法更加常见。 
  令牌桶算法工具R]]></description><category></category></item><item><title><![CDATA[java8 lambda表达式原理]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78038353</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78038353</guid><author>valleychen1111</author><pubDate>Wed, 20 Sep 2017 10:58:13 +0800</pubDate><description><![CDATA[java8 lambda表达式原理
  java8已经推出有一段时间了，相信有不少公司已经把jdk升级到8了，每次jdk的升级都会带来一些性能以及应用上的优化，比如8移出了永久区，java.lang.OutOfMemoryError: PermGen space离我们而去，以及一些新的语法糖lambda，stream，默认方法等等,本文就来说说lambda表达式
lambda表达式写法基本语法:]]></description><category></category></item><item><title><![CDATA[feign form支持]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78038209</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78038209</guid><author>valleychen1111</author><pubDate>Wed, 20 Sep 2017 10:49:14 +0800</pubDate><description><![CDATA[feign是一个非常好用的http客户端工具，简单入门请见上篇文章，不多做介绍 
但是在使用feign的时候也碰到了一点小坑，今天就来讲讲怎么解决这个坑feign bean提交看官方文档，feign post提交的时候可以使用bean传输，不需要每个参数注解@Param,然而feign会把这个bean的内容写入到http的 body中去。contentType为applicationJson 
sp]]></description><category></category></item><item><title><![CDATA[feign入门教程]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78038177</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78038177</guid><author>valleychen1111</author><pubDate>Wed, 20 Sep 2017 10:47:38 +0800</pubDate><description><![CDATA[feign入门教程1.介绍feign简单来说是一个java http客户端，用来减少http API调用的复杂性。spring-Cloud-Netflix中就集成了feign客户端用来访问远程的http服务，不管是用来作为远程调用客户端，还是api接口测试都是非常方便的。 
这里要讲的主要是OpenFeign。首先来看一下简单的操作例子 
2.示例interface GitHub {
  @Requ]]></description><category></category></item><item><title><![CDATA[Java并发编程(三)--ReentrantLock]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78038058</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78038058</guid><author>valleychen1111</author><pubDate>Wed, 20 Sep 2017 10:40:18 +0800</pubDate><description><![CDATA[1.简介ReentrantLock是一个可重入（指持有锁的线程可以进行多次加锁、释放锁）的独占锁实现，拥有和synchronized一样的行为和语义，并且对其做了一些扩展，如记录持有者信息、Condition（以后的文章再讲）支持等等。 
ReentrantLock基于AbstractQueuedSynchronizer实现了公平模式和不公平模式的独占锁。在构造方法中根据传入fair参数，设置syn]]></description><category></category></item><item><title><![CDATA[Java并发编程(二)--java线程安全的一些基础]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78019498</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78019498</guid><author>valleychen1111</author><pubDate>Mon, 18 Sep 2017 15:17:45 +0800</pubDate><description><![CDATA[本文多摘自《java并发编程实战》和各种网上资料，因为java并发编程涉及内容太多，本文篇幅有限，只是对并发编程中的一些概念进行普及、和简略说明java并发编程编写正确的程序很难，编写正确的并发程序则是难上加难，和串行编程相比，并发编程线程安全性可能是非常复杂的，在没有充分的同步情况下，操作执行顺序是不可预测的，甚至产生一些奇怪的结果。所以我们需要了解一些java并发编程的基础概念、常见问题、jav]]></description><category></category></item><item><title><![CDATA[Java并发编程(一)--AbstractQueuedSynchronizer]]></title><link>https://blog.youkuaiyun.com/valleychen1111/article/details/78009315</link><guid>https://blog.youkuaiyun.com/valleychen1111/article/details/78009315</guid><author>valleychen1111</author><pubDate>Sun, 17 Sep 2017 11:51:17 +0800</pubDate><description><![CDATA[简介java.util.concurrent.locks.AbstractQueuedSynchronizer 简称aqs，是J.U.C包中最核心的一个类。也是J.U.C包中其他同步器的基类,J.U.C包在JSR-166中引入，作者是Doug Lea，是著名的并行计算专家。]]></description><category></category></item></channel></rss>