synchronized: 用于同步方法或者代码块,使得多个线程在试图并发执行同一个代码块的时候,串行地执行.以达到线程安全的目的. 允许重入: 在多线程的时候是这样的,但是对于单线程,是允许重入的,每重入一次,计数器加1,当退出代码块时,计数器减1. 两次重入,在内层抛出异常: 那正常退出时计数器减1,抛异常时计数器也是减1.那如果两次重入,在内层抛出异常,会释放锁吗?还是只会计数器减1,锁并不会释放? 直接上代码验证: public class SynchronizedTest1 { pub