http://www.javashuo.com/article/p-fkahuyel-t.html性能优化
1. 减小内存开销
假设使用可重入锁来得到同步支持,那么每一个节点都须要经过继承AQS来得到同步支持。但并非每一个节点都须要得到同步支持的,只有链表的头节点(红黑树的根节点)须要同步,这无疑带来了巨大内存浪费。
2. 得到JVM的支持
可重入锁毕竟是API这个级别的,后续的性能优化空间很小。
synchronized则是JVM直接支持的,JVM可以在运行时做出相应的优化措施:锁粗化、锁消除、锁自旋等等。这就使得synchronized可以随着JDK版本的升级而不改动代码的前提下得到性能上的提高。
性能