import java.util.concurrent.atomic.AtomicReference;
public class Test {
private static AtomicReference<Long> currentTime = new AtomicReference<>(1587625373400L);
public static void main(String[] args) {
System.out.println(currentTime); // 1587625373400L
System.out.println(
currentTime.accumulateAndGet(
1587625373499L, (prev, next) -> next > prev ? next : prev + 1)); // 1587625373499L
System.out.println(currentTime); // 1587625373499L
System.out.println(
currentTime.accumulateAndGet(
1587625373499L, (prev, next) -> next > prev ? next : prev + 1)); // 1587625373500L
}
}