各种锁
文章平均质量分 80
Java各种锁
Java程序员廖志伟
《Java项目实战—深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)作者、(CSDN、51CTO、阿里云)博主专家,研究过Spring、SpringBoot、Spring MVC、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 · 1917 阅读 · 51 评论 -
【AQS我可以讲十分钟】
AQS还维护了一个变量volatile int state,代表了加锁的状态,初始状态下,state的值是0。另外还有一个虚拟的双向队列,这个队列是不存在的,它是抽象的概念,存在结点之间的关联关系,它会将请求共享资源的线程,封装成一个Node结点来实现锁的分配。原创 2022-02-23 11:16:17 · 1375 阅读 · 26 评论 -
java锁:第一章:公平和非公平锁
公平和非公平锁是什么? 二者区别?原创 2019-07-28 10:03:26 · 1988 阅读 · 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 · 1593 阅读 · 0 评论 -
java锁:第三章:自旋锁
自旋锁是什么?原创 2019-07-28 22:15:00 · 1364 阅读 · 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 · 2361 阅读 · 0 评论