首页
沸点
课程
AI Coding
数据标注
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java - 锁
订阅
Eascholas
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
java并发编程系列:牛逼的AQS(上)
设计java的大叔们为了我们方便的自定义各种同步工具,为我们提供了大杀器AbstractQueuedSynchronizer类,这是一个抽象类,以下我们会简称AQS,翻译成中文就是抽象队列同步器。这家伙老有用了,封装了各种底层的同步细节,我们程序员想自定义自己的同步工具的时候,…
求求你不要再问我重量级锁、自旋锁、轻量级锁、偏向锁、悲观、乐观锁等各种锁 ---- 不看后悔系列
重量级锁?自旋锁?自适应自旋锁?轻量级锁?偏向锁?悲观锁?乐观锁?执行一个方法咋这么辛苦,到处都是锁。 今天这篇文章,给大家普及下这些锁究竟是啥,他们的由来,他们之间有啥关系,有啥区别。 如果你学过多线程,那么你肯定知道锁这个东西,至于为什么需要锁,我就不给你普及了,就当做你是…
从偏向锁是如何升级到重量级锁的
在 jdk1.6 之前我们会说 synchronized 是个重量级锁,在此之后 JVM 对其做了很多的优化,之后使用 synchronized 线程在获取锁的时候根据竞争的状态可以是偏向锁、轻量级锁和重量级锁。 而在关于锁的技术中,又出现了一些比如锁粗化、锁消除、自旋锁、自适…
再有人问你synchronized是什么,就把这篇文章发给他。
在再有人问你Java内存模型是什么,就把这篇文章发给他。中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。 海明威在他的《午后…
漫话:如何给女朋友解释什么是乐观锁与悲观锁
最近,五一小长假的放假时间调整了,决定趁着假期出去玩一玩。我和女朋友商量好,我负责制定行程,她负责购买出行用品。相安无事,我正在各家比价中,不知道发生了什么,女朋友买买买竟然不高兴了。 在《如何给女朋友解释什么是并发和并行》一文中我们介绍过并发和并行。当程序中可能出现并发的情况…
深入剖析Java重入锁ReentrantLock的实现原理
Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/httpservlet/dubbo/motan的运行性能统计,并暴露成prometheus等主流…
java并发编程系列:牛逼的AQS(下)
看完了AQS中的底层同步机制,我们来简单分析一下之前介绍过的ReentrantLock的实现原理。先回顾一下这个显式锁的典型使用方式: ReentrantLock首先是一个显式锁,它实现了Lock接口。可能你已经忘记了Lock接口长啥样了,我们再回顾一遍: 也就是当一个线程因为…
Java 各种锁的小结
一. synchronized 在 JDK 1.6 之前,synchronized 是重量级锁,效率低下。 从 JDK 1.6 开始,synchronized 做了很多优化,如偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等技术来减少锁操作的开销。 synchroniz…
并发编程的锁机制:synchronized和lock
1. 锁的种类 锁的种类挺多,包括:自旋锁、自旋锁的其他种类、阻塞锁、可重入锁、读写锁、互斥锁、悲观锁、乐观锁、公平锁、可重入锁等等,其余就不列出了。我们这边重点看如下几种:可重入锁、读写锁、可中断锁、公平锁。 如果锁具备可重入性,则称作为可重入锁。synchronized和R…
彻底理解synchronized
通过字节码分析以及源码解析深入理解synchronized的使用场景以及背后的实现原理,避免在生产环境出现并发问题,