Java的话除了sychronized 以外的锁基本都是AQS基类派生出来的子类,不同锁就是对基类那些函数的不同重写