Skip to content

Commit eaa03ca

Browse files
committed
Replaced SoftReference with WeakReference for performance
1 parent 80c75ab commit eaa03ca

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

core/src/main/java/fj/P1.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package fj;
22

3-
import java.lang.ref.SoftReference;
3+
import java.lang.ref.WeakReference;
44

55
import fj.data.Array;
66
import fj.data.List;
@@ -216,7 +216,7 @@ public P1<A> memo() {
216216
final P1<A> self = this;
217217
return new P1<A>() {
218218
private final Object latch = new Object();
219-
private volatile SoftReference<Option<A>> v = null;
219+
private volatile WeakReference<Option<A>> v = null;
220220

221221
@Override
222222
public A _1() {
@@ -226,7 +226,7 @@ public A _1() {
226226
o = v != null ? v.get() : null;
227227
if (o == null) {
228228
o = Option.some(self._1());
229-
v = new SoftReference<>(o);
229+
v = new WeakReference<>(o);
230230
}
231231
}
232232
}

0 commit comments

Comments
 (0)