mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-14 12:16:49 +00:00
The great rename: the old ‘website’ is now ‘website-old’, and ‘website2’ is now ‘website’.
This commit is contained in:
1 parent
72fd50b9f1
commit
8b7a7cbc81
185 files changed
+25
-25
No files matched your search
@@ -0,0 +1,26 @@
|
||||
public class GetterLazyExample {
|
||||
private final java.util.concurrent.AtomicReference<java.lang.Object> cached = new java.util.concurrent.AtomicReference<java.lang.Object>();
|
||||
|
||||
public double[] getCached() {
|
||||
java.lang.Object value = this.cached.get();
|
||||
if (value == null) {
|
||||
synchronized(this.cached) {
|
||||
value = this.cached.get();
|
||||
if (value == null) {
|
||||
final double[] actualValue = expensive();
|
||||
value = actualValue == null ? this.cached : actualValue;
|
||||
this.cached.set(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
return (double[])(value == this.cached ? null : value);
|
||||
}
|
||||
|
||||
private double[] expensive() {
|
||||
double[] result = new double[1000000];
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
result[i] = Math.asin(i);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user