由于维护及SEO等关系,当前博客网站停止更新,后续文章暂定发布到segmentfault。
有兴趣的同学请点击
Java线程池简单总结
限流器及Guava实现分析
限流
限流一词常用于计算机网络之中,定义如下:
In computer networks, rate limiting is used to control the rate of traffic sent or received by a network interface controller and is used to prevent DoS attacks.
通过控制数据的网络数据的发送或接收速率来防止可能出现的DOS攻击。而实际的软件服务过程中,限流也可用于API服务的保护。由于提供服务的计算机资源(包括CPU、内存、磁盘及网络带宽等)是有限的,则其提供的API服务的QPS也是有限的,限流工具就是通过限流算法对API访问进行限制,保证服务不会超过其能承受的负载压力。
本文主要涉及内容包括:
- 常用限流算法的简单介绍及比较
- Guava包中限流工具的实现分析
图解ReentrantReadWriteLock实现分析
细谈重入锁ReentrantLock
概述
在java.util.concurrent.locks.Lock详解一文中简单的描述了JDK中JUC包对于Lock接口的定义,并且简单的对比了Lock接口及Java关键字synchronized的异同。本文主要研究Lock接口的常用实现ReentrantLock,本文主要分为以下几部分:
- 什么是重入?
- ReentrantLock的实现分析;
- Condition对象介绍;
- ReentrantLock性能分析;
- ReentrantLock使用场景;
- 总结。