1.同步代码块。指定加锁对象,进入同步代码前要获得给定对象的锁 2.直接作用于实例方法:相当于对当前实例加锁,进入同步代码前要获得当前实例的锁。 3.直接作用于静态方法:相当于对当前类,进入同步代码前要获得当前类的锁。