//对象锁,串行
1.两个线程同时访问一个对象的同步方法
2.两个线程同时访问两个对象的同步方法
//类锁,串行
3.两个线程访问的是synchronized的静态方法
//互不不影响,并行
4.同时访问同步与非同步方法
//synchronized使用同一把锁(this),串行
5.访问同一个对象的不同普通同步方法
//并行,一个是类锁,一个是当前对象锁
6.同时访问静态synchronized和非静态synchronized方法
// jvm会帮助释放锁
7.方法抛出异常,会释放锁