Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e1beffa

Browse files
committed
完善LRU实现
1 parent bf00483 commit e1beffa

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

‎lru/src/main/java/com/mistray/LRULinkedHashMap.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ public LRULinkedHashMap(int maxCapacity) {
2626
this.maxCapacity = maxCapacity;
2727
}
2828

29+
30+
/**
31+
* LinkedHashMap自带的判断是否删除最老的元素方法,默认返回false,即不删除老数据
32+
* 我们要做的就是重写这个方法,当满足一定条件时删除老数据
33+
*
34+
* @param eldest 尾部元素
35+
* @return 是否删除尾部元素
36+
*/
2937
@Override
3038
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
3139
return size() > maxCapacity;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.mistray;
2+
3+
/**
4+
* @author ZJY(MistRay)
5+
* @Project algorithm-study
6+
* @Package com.mistray
7+
* @create 2019年10月14日 20:39
8+
* @Desc
9+
*/
10+
public class LruExecutor {
11+
12+
public static void main(String[] args) {
13+
LRULinkedHashMap<String, Object> lruMap = new LRULinkedHashMap<String, Object>(8191);
14+
lruMap.put("111",222);
15+
}
16+
}
17+

‎lru/src/main/java/com/mistray/ReadWriteMapWrapFactory.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
* @Package com.mistray
2121
* @create 2019年10月14日 20:24
2222
* @Desc 读写锁
23+
* 逻辑: 给map加读写锁.读时加读锁,写时加写锁.
2324
*/
2425
public class ReadWriteMapWrapFactory {
2526

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /