首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
lock
订阅
Syuan37714
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
Java 各种锁的小结
一. synchronized 在 JDK 1.6 之前,synchronized 是重量级锁,效率低下。 从 JDK 1.6 开始,synchronized 做了很多优化,如偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等技术来减少锁操作的开销。 synchroniz…
AQS(AbstractQueuedSynchronizer)队列
1、Node类是对要访问同步代码的线程的封装,包含了线程本身及其状态叫waitStatus。waitStatus五种状态如下: CANCELLED 值为1、因为超时或者中断,结点会被设置为取消状态,被取消状态的结点不应该去竞争锁,只能保持取消状态不变,不能转换为其他状态。处于这…
synchronized的三种应用方式(实例讲解)
上一节(Java内存模型-volatile的应用(实例讲解))讲了i++并不是线程安全的,我们需要用synchronized来保证其线程安全。 这里我就介绍下synchronized的基本用法和简单原理。 没有共享就没有伤害,比如上面的i++被2个线程同时修改,出现了并发问题。…
大彻大悟synchronized原理,锁的升级
Synchronized原理是面试中的一个难点。网上的各种资料太乱了 ,概念晦涩难懂,看了不少资料、博客,花了不少时间,才整理成这篇笔记。看完对你大有帮助。 要想了解Synchronized的原理,你先必须了解下Java对象内存布局。 我这里就先介绍下Java内存布局。 Jav…
Java内存模型-volatile的应用(实例讲解)
“内存模型”、“volatile”这样的关键词是不是经常听到呢?我这里花点时间整理了下。 可见性:可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他的线程可以立即看到修改的结果。 原子性:原子性指的是一个或多个操作,要么全部执行,并且执行过程中不被其它操作打…
Volatile 原理概述
好久没更新文章了(其实也就三四天),主要是因为我生病了,发了高烧身体实在顶不住了,拖沓了些。这不,稍有精力还是马上就开始创作。如果有写错了,还希望各位看官多多指点。今天和大家聊聊 volatile。一个面试频考点,感觉和 synchronized 不分伯仲。 我们都知道,vol…
ReentrantReadWriteLock源码分析
在该篇文章中我将开始介绍ReentrantReadWriteLock有关源码分析。 我先简单介绍下有关变量的含义,再分析读锁和写锁的获取和释放过程。 在控制锁逻辑的Sync中,可以定义使用公平锁还是非公平锁。默认是非公平的。 实际上就是将state分成两个部分,其中高16位表示…