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 } }