首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java 高并发编程
心城以北
创建于2022-01-13
订阅专栏
Java 并发编程,相关主要是分享 J.U.C 相关内容,比如: CAS、AQS 、线程,锁,线程池,阻塞队列,优先级队列等技术,以及也会包含 HashMap 等基础集合框架。
等 39 人订阅
共38篇文章
创建于2022-01-13
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
AbstractQueuedSynchronizer 原理解析
「这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战」。 AQS 特征与名词 公平锁 可重入 LockSupport 自旋锁(CAS) 数据结构之链表 设计模式之模板方法 什
浅析 Fork/Join 基本概念和实战
「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战」。 在 JDK 1.7 版本中提供了 Fork/Join 并行执行任务框架,它主要的作用是把大任务分割成若干个小任务,再对
JVM 内置锁 synchronized 关键字,偏向锁优化中的批量重偏向和批量撤销
「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。 批量重偏向和批量撤销 从偏向锁的加锁和解锁的过程中可以看出,当只有一个线程反复进入同步代码块时,偏向锁带来的性能开销基
JVM 锁优化和逃逸分析详解
「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。 锁优化 jvm 在加锁的过程中,会采用自旋、自适应、锁消除、锁粗化等优化手段来提升代码执行效率。 自旋锁和自适应自旋
JVM 内置锁 synchronized 的几种状态概述
通常我们说的 java 内置锁默认都是指的 JVM 给我们提供的 synchronized 关键字实现的锁
基于 Hotspot 的 Java 线程源码分析
基本概念 Java 线程其实是映射到操作系统的内核线程上的,所以 Java 线程基本上也就是操作系统在进行管理。在 Linux系统中,线程和进程用的是同一个结构体进行描述的,只不过进程拥有自己独立的地
CountDownLatch 闭锁源码分析
功能简介 闭锁是一种同步工具类,可以延迟线程的进度直到其到达终止状态【CPJ 3.4.2】。闭锁的作用相当于一扇门∶ 在闭锁到达结束状态之前,这扇门一直是关闭的,并且没有任何线程能通过,当到达结束状态
Java 随机数生成原理与 ThreadLocalRandom 详解
简介 在 JDK7 中,java.util.concurrent 包含了一个相当便利的类随机数生成类 ThreadLocalRandom,当应用程序期望在多个线程或 ForkJoinTasks 中使用
Semaphore 信号量源码分析
概述 Semaphore 信号量, 信号量维护了一组许可。如果有必要每个采集模块都回阻塞,直到有许可可用。然后获取许可证。每次发布都会添加一个许可证,可能会释放一个阻塞资源。但是,没有使用实际的许可对
LockSupport 以及 park、unpark 方法源码分析
LockSupport 是 jsr 166 中新增的 juc 工具类。 LockSupport 类主要用于创建锁和其他同步类来实现线程阻塞。 这个类与他使用的每个线程进行关联, 如果可用就立即 par
学了 JMM 指令重排序,让我明白该如何写单例模式了
JMM 是什么? JVM 是 Java Memory Model 的缩写, Java 内存模型来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下能够达到一致的内存访问效果。
Unsafe 和 Atomic 详解
本文已参与掘金创作者训练营第三期「话题写作」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。 在JDK 5之后,Java类库中才开始使用CAS操作,该操作由sun.misc.
优先级队列和二叉堆详解
本文已参与掘金创作者训练营第三期「话题写作」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。 PriorityBlockingQueue 是什么? PriorityBlock
BlockingQueue 阻塞队列详解
本文已参与掘金创作者训练营第三期「话题写作」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。 BlockingQueue 是什么? BlockingQueue 是一个 Que
如何根据不同的业务场景,来选择合适的锁?
本文已参与掘金创作者训练营第三期「话题写作」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。 前言: 刚开始我看到这个标题的时候我感觉“很熟悉,但是又很陌生”,因为锁是有效的
HashMap 的设计与优化
HashMap 是一个 key-value 形式的键值对集合。(本文内容基于 JDK1.8)下面是一个简单的 HashMap 的结构。 本文主要是通过源码的方式分析 HashMap 的实现和优化。主要
如何设置Java线程池大小?
线程的概念 线程 线程是调度 CPU 资源的最小单位, 线程模型粉丝 KLT 模型与 ULT 模型,JVM 使用的是 KLT 模型, Java线程与 OS线程保持 1:1 的映射关系,也就是说有一个
AQS 处理流程和使用
本文主要是总结 AQS 的原理,以及 AQS 的使用场景。 AQS 的全称是 AbstractQueuedSynchronizer 的缩写, 他的本质是一个双向同步链表结构。