1.) why the compiler is not removing this code?
synchronized(this){}
with other words, what effect it will cause in runtime?
2.) what is the VM ID, and why we need that?
3.) what is strictfp and why we need that?
4.) the System.out is final, how the System.setOut can change it?
5.) what is 'blank final' means?
6.) one thread overwrite the 0 value long with -1, is it possible the other thread read a value from that long which is not 0 and not -1 either?
7.) if you not defined the serialversion in a class, what change on this class will modify the automatically generates serialversion ?