悲观锁 认为自己在使用数据的时候一定有别的线程来修改数据,在获取数据的时候会先加锁,确保数据不会被别的线程修改. 适用写操作较多 加锁保证数据正确 synchronized实现、行锁,表锁,写锁 乐观锁 认为自己在使用数据的时候不会有别的线程来修改数据,所以不会加锁,只在更新数据时判断有无其他线程更新数据 适用读操作较多 不加锁保证吞吐量 乐观 CAS