(1)synchronized-轻量级锁-无竞争
(2)synchronized-轻量级锁-锁膨胀
重量级锁就是我们前面介绍过的Monitor enter
(3)synchronized-重量级锁-自旋
(4)synchronized-偏向锁
轻量级锁会有锁重入的情况,当调用完method1后在调用method2它会,在一次CAS修改mark为线程1锁记录地址,自己跟自己还要服务器托管网执行这个就没有必要了
进一步优化,利用偏向锁
单个线程偏向锁工作挺好,但是另外有线程进行竞争了,偏向锁就会被撤销,撤销之后会升级为轻量级锁
(5)synchronized-其他优化
ConcurrentHashMap数组的链表头上加锁,锁住的是链表头,原来是HashTable锁住的是整个HashTable,读写操作完全忽视了,锁住链表头加锁的粒度就变小了,每次锁住一个链表,其他链表的读写操作不会受到影响
读的读原始数据内容,写的话复制一服务器托管网份在一个新数组上进行写,读操作不需要操作的,只要同步写
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: sql中union all、union、intersect、minus的区别图解,测试
相关文章 sql 的 join、left join、full join的区别图解总结,测试,注意事项 1.结论示意图 对于intersect、minus,oracle支持,mysql不支持,可以变通(in或exists)实现 2.创建表和数据 — 建表 dr…