1.减少锁的持有时间,只对关键的代码块加锁,减少synchronized锁内部的无关模块: 2.减小锁粒度,如Collections.synchronizedMap(map)返回线程安全的map会锁整张map:而ConcurrentHashMap会通过segment只对当前要查询的链表进行加锁(hashmap是table+单向链表): 3.用读写分离锁来替换独占锁,读写分离锁是支持一个线程写数据,多个线程读取数据:如果写入较少,大量读取,非常适合使用得写分离锁,因为只有和写有关的操作才会锁数据,…