摘要: 在WEB服务器端,每日的访问量巨大。在非生产环境需要对服务器进行压力测试,一般使用后台线程和Sleep方式来模拟线上的压力。这里使用ScheduledExecutorService实现一种简单的QPS测试代码。QpsProxy:import com.google.common.base.Precon... 阅读全文
posted @ 2015-07-25 21:28 life91 阅读(1753) 评论(0) 推荐(0) 编辑
摘要: ConcurrentMap和Guava的LocalCache实现原理相近,底层的存储方式使用的时table方式来存储。这里使用最简单且最暴力的方式,在每次访问的时候均加锁。ConcurrentHashMap接口:public interface ConcurrentHashMap { publ... 阅读全文
posted @ 2015-07-25 21:21 life91 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 简单线程池的设计一个典型的线程池,应该包括如下几个部分:1、线程池管理器(ThreadPool),用于启动、停用,管理线程池2、工作线程(WorkThread),线程池中的线程3、请求接口(WorkRequest),创建请求对象,以供工作线程调度任务的执行4、请求队列(RequestQueue),用... 阅读全文
posted @ 2015-07-25 21:17 life91 阅读(212) 评论(0) 推荐(0) 编辑