
各种锁
文章平均质量分 80
Java各种锁
Java程序员廖志伟
《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)作者、清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主。研究过Spring、SpringBoot、SpringMVC、SpringCloud、Mybatis、Dubbo、Zookeeper、RabbitMQ、RocketMQ、Kafka、Redis、MySQL、ElasticSearch、MongoDB、ShardingSphere、DDD、Kubernetes等技术。
展开
-
【Synchronized我可以讲半小时】
锁主要存在四种状态,依次是:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态,锁可以从偏向锁升级到轻量级锁,再升级的重量级锁。但是锁的升级是单向的,也就是说只能从低到高升级,不会出现锁的降级。JDK5引进的CAS自旋,JDK6开始又引入了自适应的CAS自旋、锁消除、锁粗化、偏向锁、轻量级锁这些优化策略,这些优化使得Synchronized性能极大提高。原创 2022-02-24 08:45:00 · 1949 阅读 · 51 评论 -
【AQS我可以讲十分钟】
AQS还维护了一个变量volatile int state,代表了加锁的状态,初始状态下,state的值是0。另外还有一个虚拟的双向队列,这个队列是不存在的,它是抽象的概念,存在结点之间的关联关系,它会将请求共享资源的线程,封装成一个Node结点来实现锁的分配。原创 2022-02-23 11:16:17 · 1422 阅读 · 26 评论 -
java锁:第一章:公平和非公平锁
公平和非公平锁是什么?二者区别?原创 2019-07-28 10:03:26 · 2021 阅读 · 0 评论 -
java锁:第二章:可重入锁和递归锁
可重入锁是什么?可以防止死锁,是同一把锁代码:package com.javaliao.backstage;class Phone{ public synchronized void sendSMS(){ System.out.println(Thread.currentThread().getName()+"\t 发短信"); se...原创 2019-07-28 10:49:37 · 1612 阅读 · 0 评论 -
java锁:第三章:自旋锁
自旋锁是什么?原创 2019-07-28 22:15:00 · 1391 阅读 · 0 评论 -
java锁:第四章:读写锁
理论:未使用读写锁的代码:package com.javaliao.backstage;import java.util.HashMap;import java.util.Map;class Data{ private volatile Map map = new HashMap<String,Object>(); //写 publ...原创 2019-08-11 09:09:16 · 2391 阅读 · 0 评论