使用DelayQueue实现缓存

实现一个缓存其实就是需要实现一个能够存储键值对,并自动清理超时缓存项的数据结构。java.util.concurrent包下有个DelayQueue,它是一个无界的BlockingQueue,存入DelayQueue的对象必须实现Delayed接口。DelayQueue提供一个阻塞的take方法,只有过期的Delayed对象才能被take出队列。利用DelayQueue的这个特性,我们可以用Del…

more >>