99import org .slf4j .LoggerFactory ;
1010
1111import java .util .*;
12- import java .util .concurrent .locks .Lock ;
13- import java .util .concurrent .locks .ReentrantReadWriteLock ;
12+ import java .util .concurrent .locks .ReentrantLock ;
1413
1514/**
1615 * @author huangli
@@ -48,8 +47,7 @@ public void cleanExpiredEntry() {
4847 final class LRUMap extends LinkedHashMap implements InnerMap {
4948
5049 private final int max ;
51- // private final Object lockObj;
52- private final ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock ();
50+ private final ReentrantLock lock = new ReentrantLock ();
5351
5452 public LRUMap (int max ) {
5553 super ((int ) (max * 1.4f ), 0.75f , true );
@@ -63,7 +61,6 @@ protected boolean removeEldestEntry(Map.Entry eldest) {
6361 }
6462
6563 void cleanExpiredEntry () {
66- Lock lock = readWriteLock .writeLock ();
6764 lock .lock ();
6865 long t = System .currentTimeMillis ();
6966 try {
@@ -95,7 +92,6 @@ void cleanExpiredEntry() {
9592
9693 @ Override
9794 public Object getValue (Object key ) {
98- Lock lock = readWriteLock .readLock ();
9995 lock .lock ();
10096 try {
10197 return get (key );
@@ -106,7 +102,6 @@ public Object getValue(Object key) {
106102
107103 @ Override
108104 public Map getAllValues (Collection keys ) {
109- Lock lock = readWriteLock .readLock ();
110105 lock .lock ();
111106 Map values = new HashMap ();
112107 try {
@@ -124,7 +119,6 @@ public Map getAllValues(Collection keys) {
124119
125120 @ Override
126121 public void putValue (Object key , Object value ) {
127- Lock lock = readWriteLock .writeLock ();
128122 lock .lock ();
129123 try {
130124 put (key , value );
@@ -135,7 +129,6 @@ public void putValue(Object key, Object value) {
135129
136130 @ Override
137131 public void putAllValues (Map map ) {
138- Lock lock = readWriteLock .writeLock ();
139132 lock .lock ();
140133 try {
141134 Set <Map .Entry > set = map .entrySet ();
@@ -149,7 +142,6 @@ public void putAllValues(Map map) {
149142
150143 @ Override
151144 public boolean removeValue (Object key ) {
152- Lock lock = readWriteLock .writeLock ();
153145 lock .lock ();
154146 try {
155147 return remove (key ) != null ;
@@ -160,7 +152,6 @@ public boolean removeValue(Object key) {
160152
161153 @ Override
162154 public void removeAllValues (Collection keys ) {
163- Lock lock = readWriteLock .writeLock ();
164155 lock .lock ();
165156 try {
166157 for (Object k : keys ) {
@@ -174,7 +165,6 @@ public void removeAllValues(Collection keys) {
174165 @ Override
175166 @ SuppressWarnings ("unchecked" )
176167 public boolean putIfAbsentValue (Object key , Object value ) {
177- Lock lock = readWriteLock .writeLock ();
178168 lock .lock ();
179169 try {
180170 CacheValueHolder h = (CacheValueHolder ) get (key );
0 commit comments