. ( ), . "-" ( , , synchronized), .
, ++hits ++cacheHits service(). synchronized JVM , . , ++cacheHits ++hits cacheHits hits ( , ). , , :
Thread 1 Thread 2
--------------- ----------------
++cacheHits (reordered)
cacheHits=1, hits=0
read hits (as 0)
++hits
cacheHits=1, hits=1
read cacheHits (as 1)
calculate 1 / 0 (= epic fail)
, , .
, . 1000 service(), cacheHits 500 hits 1. 50 000%, , .
, , , .