可以同时调用,在synchronized方法进行运行时,非synchronized方法也可以运行。
对写进行加锁,而对读没有加锁,可能会产生脏读的情况。
2.
3.
4.
如果不想释放锁,就在异常那里try/catch。
运行时异常,要进行事物回滚
synchronized既保证可见性又保证原子性,volatile只保证可见性;但是volatile的性能比synchronized强很多。
7.
锁的是堆内存内的对象,而不是栈内存中的引用。
8.
9.