首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
锁
订阅
EasonTyler
更多收藏集
微信扫码分享
微信
新浪微博
QQ
4篇文章 · 0订阅
基础篇:详解锁原理,synchronized、volatile+cas底层实现
悲观锁,每次去请求数据的时候,都认为数据会被抢占更新(悲观的想法);所以每次操作数据时都要先加上锁,其他线程修改数据时就要等待获取锁。适用于写多读少的场景,synchronized就是一种悲观锁 在请求数据时,觉得无人抢占修改。等真正更新数据时,才判断此期间别人有没有修改过(预…
面试美团,面试官突然问我 Java “锁” ,我哭了
Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分…
个人珍藏的80道多线程并发面试题(1-10答案解析)
1. synchronized的实现原理以及锁优化? synchronized作用于「方法」或者「代码块」,保证被修饰的代码在同一时间只能被一个线程访问。 Monitor其实是一种「同步工具」,也可以说是一种「同步机制」。 在Java虚拟机(HotSpot)中,Monitor是…
死磕synchronized底层实现
Mark Word(标记字段):默认存储对象的HashCode,分代年龄和锁标志位信息。它会根据对象的状态复用自己的存储空间,也就是说在运行期间Mark Word里存储的数据会随着锁标志位的变化而变化。 Klass Point(类型指针):对象指向它的类元数据的指针,虚拟机通过…