首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JUC
JavaLyHn
创建于2023-01-29
订阅专栏
JUC技术专栏
暂无订阅
共12篇文章
创建于2023-01-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
「JUC篇」之 ReentrantReadWriteLock、StampedLock讲解
『读写锁ReentrantReadWriteLock』`并不是`真正意义上的读写分离,它只允许`读读共存`,而`读写和写写依然是互斥`的, 大多实际场景是“读/读”线程间并不存在互斥关系,只有"读/写
「JUC篇」之 AbstractQueuedSynchronizer详解
是用来构建锁或者其它同步器组件的重量级基础框架及整个JUC体系的基石,通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类变量表示持有锁的状态
「JUC篇」之 一篇文章掌握synchronized与锁升级
synchronized锁升级过程一句话,就是先自旋,不行再阻塞。实际上是把之前的悲观锁(重量级锁)变成在一定条件下使用偏向锁以及使用轻量级(自旋锁CAS)的形式
「JUC篇」之 深度讲解Java对象内存布局和对象头
对象内部结构分为:对象头、实例数据、对齐填充(保证8个字节的倍数)。对象头分为对象标记(markOop)和类元信息(klassOop),类元信息存储的是指向该对象类元数据(klass)的首地址。
「JUC篇」之 通俗易懂而又不失深度的ThreadLocal详解
每个Thread对象维护着一个ThreadLocalMap的引用,ThreadLocalMap是ThreadLocal的内部类,用Entry来进行存储,调用ThreadLocal的set()方法时,实
「JUC篇」之 原子操作类案例实战+原理解析一套打通(深入理解LongAdder为什么这么快)
LongAdder的基本思路就是`分散热点`,将value值分散到一个Cell数组中,不同线程会命中到数组的`不同槽`中,`各个线程只对自己槽中的那个值进行CAS操作`,这样热点就被分散了,冲突的概率
「JUC篇」之 CAS详解
`比较并交换`,实现并发算法时常用到的一种技术。它包含三个操作数——`内存位置、预期原值及更新值`。 执行CAS操作的时候,将`内存位置的值与预期原值`比较: 如果相匹配,那么处理器会自动将该位置值更
「JUC篇」之 深度理解volatile与Java内存模型
1. 被volatile修饰的变量有什么特点 可见性 有序性 volatile的内存语义: 当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量值立即刷新回主内存中。 当读一个
「JUC篇」之 深度讲解Java内存模型JMM+happens-before原则
1. 什么是JMM Java虚拟机规范中试图定义一种Java内存模型(java Memory Model,简称JMM) 来屏蔽掉各种硬件和操作系统的内存访问差异, 以实现让Java程序在各种平台下都能
「JUC篇」之 一篇文章掌握线程中断机制与LockSupport
1. 什么是中断机制 1.1 三个废弃方法 为什么这三个方法被废弃了? 首先,一个线程不应该由其他线程强制中断或者停止,而是应该由自己的线程来停止。 倘若别的线程能够肆无忌惮的结束你的线程,这不就乱套
「JUC篇」之 CompletableFuture异步编排详解
1. Future和Callable接口 1.1 Future Future接口定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。
「JUC篇」之 Java线程池详解
1. 线程池的创建 1.1 Executors 1.2 ThreadPoolExecutor(推荐使用) 1.3 ThreadPoolExecutor核心参数详解 corePoolSize:核心线程数