I know increment operation is not atomic in C++ without locking.
Will JVM add any lock on its implementation of iinc instruction?
iinc
It is not atomic. Here is the generated byte code for an post-increment of a static int:
0 getstatic 18; // Load value of variable. 3 iconst_1; 4 iadd; 5 putstatic 18; // Store value.