LRU缓存

LRU简介构建双向链表,使用HashMap来进行contains。使用ReentrantLock来控制并发访问,当发生put或者get的请求,把对应的数据move到头部,当容量满了之后,淘汰末尾的数据;代码实现定义双向链表的节点 class CacheNode<K, V>{