首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
juc
订阅
用户5741363424316
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
从偏向锁是如何升级到重量级锁的
在 jdk1.6 之前我们会说 synchronized 是个重量级锁,在此之后 JVM 对其做了很多的优化,之后使用 synchronized 线程在获取锁的时候根据竞争的状态可以是偏向锁、轻量级锁和重量级锁。 而在关于锁的技术中,又出现了一些比如锁粗化、锁消除、自旋锁、自适…
锁优化与锁升级
是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。 Java的线程是映射到操作系统的原生内核线程之上的(线程是通过操作系统的内核线程实现的,并且创建出来的线程通过操作系统内核进行调度),如…
全网最全的synchronized锁升级过程
哈喽,大家好,我们今天来讲讲synchronized这个锁,可能你们第一印象是这个锁太笨了,太重了,谁用谁是傻子,如果你是这样想的话,那么面试的时候基本上就是凉凉了。因为jdk1.6之后对它进行了优化,它已经不是你们曾经认识的它了,中国有句古话,叫:士别三日当刮目相待,今天我们就...
Java 对象头分析与使用(Synchronized相关)
前言 从上篇文章我们了解到:synchronized修饰代码块/修饰方法,最终都是在对象头上做文章,因此对象头是深入理解synchronized 各种锁变化的基础。接下来就来深入分析对象头在synch
synchronized锁升级
synchronized的基本认识在多线程并发编程中synchronized一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着Java SE 1.6对synchronized进行了各种优化之后,有些情况下它就并不那么重,Java SE 1.6中为了减少获得锁和释放锁带来的…
大白话讲解synchronized锁升级套路
synchronized锁是啥?锁其实就是一个对象,随便哪一个都可以,Java中所有的对象都是锁,换句话说,Java中所有对象都可以成为锁。 这次我们主要聊的是synchronized锁升级的套
线程池ThreadPoolExecutor实现原理
1. 为什么要使用线程池 在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用线程池来管理线程,使用线程池管理线程主要有如下好处: 降低资源消耗。通过复用已存在的线程和降低线程关闭的次数来尽可能降低系统性能损耗; 提升系统…
两张图带你看清 ConcurrentHashMap 1.7和1.8的不同
嘿嘿~ 我们知道这个 HashMap 是线程不安全的~ ,而 线程安全的 Map 就有这个 HashTable 还有这个 ConcurrentHashMap 。 连 get 都加锁。。 HashTable 和 ConcurrentHashMap 的 共同特点 是 不允许 key…
Synchronized解析——如果你愿意一层一层剥开我的心
synchronized,是解决并发情况下数据同步访问问题的一把利刃。那么synchronized的底层原理是什么呢?下面我们来一层一层剥开它的心,就像剥洋葱一样,看个究竟。 接下来,我们先剥开synchronized的第一层,反编译其作用的代码块以及方法。 由图可得,添加了s…
三大性质总结:原子性、可见性以及有序性
1. 三大性质简介 在并发编程中分析线程安全的问题时往往需要切入点,那就是两大核心:JMM抽象内存模型以及happens-before规则(在这篇文章中已经经过了),三条性质:原子性,有序性和可见性。关于synchronized和volatile已经讨论过了,就想着将并发编程中…