锁<br>
Synchronized<br>
ReentrantLock<span lang="EN-US"><span lang="EN-US"><strong></strong></span></span>
ReentrantReadWriteLock<strong></strong>
<font color="#381e11">StampedLock(</font><font color="#381e11"><span style="color: #ff0000;">并发量大且读远大于写</span>)</font>
乐观锁&&悲观锁<br>
避免死锁<br>
避免一个线程获取多个锁<br>
避免一个线程在锁内占用多个资源<br>
尝试使用定时锁,Lock.tryLock(timeout)替代内部锁机制<br>
对于数据加锁,加锁解锁必须要同一个数据库连接内<br>