首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Java并发
Nyarlathotep0113
创建于2026-03-06
订阅专栏
记录java并发的知识
暂无订阅
共24篇文章
创建于2026-03-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
并行设计模式(3):Future模式
什么是Future模式? Future模式是多线程开发中一种经典的设计模式,其核心思想是异步调用。它通过将耗时操作与主线程分离,让主线程不必等待结果返回即可继续执行其他任务,从而显著提升系统的响应速度
并行设计模式(2):不变模式
什么是不变模式? 不变模式天⽣就是多线程友好的,它的核心思想是,⼀个对象⼀旦被创建,它的内部状态将永远不会发生改变。没有⼀个线程可以修改其内部状态和数据,同时其内部状态也绝不会⾃⾏发⽣改变。
并行设计模式(1):单例模式
简单的单例实现 这是一个典型的饿汉式的单例模式。 优点: 线程安全:在类加载阶段就完成了实例化,避免了多线程同步。 获取速度快:实例已经加载完成,可以直接返回 防止反射攻击
ThreadLocal
什么是ThreadLocal? ThreadLocal是Java中一个非常重要的线程封闭工具,它用于创建线程局部变量。每个线程都有自己独立初始化的变量副本,从而避免了多线程环境下的共享和同步问题。
ConcurrentHashMap源码分析
什么是ConcurrentHashMap 在并发环境下,直接使用 HashMap会导致数据不一致甚至死循环。
Fork/Join 框架
什么是Fork/Join框架 Fork/Join框架是Java 7 引入的一个用于并行计算的框架,它基于“分而治之”的思想,特别适合处理可以递归分解的任务。
线程复用的利器:线程池
什么要使用线程池? 多线程的软件设计⽅法确实可以最⼤限度地发挥现代多核处理器的计算能⼒,提⾼⽣产系统的 吞吐量和性能。
限流
什么是限流? 限流是一种控制单位时间内系统处理请求数量的技术手段,用于保护系统免受过载请求的影响。当请求频率超过设定阈值时,系统会拒绝或延迟处理超额请求。
CyclicBarrier基础和原理
什么是CyclicBarrier? CyclicBarrier是JUC中的一个同步辅助类,它允许一组线程互相等待,直到所有线程都到达某个公共屏障点后,这些线程才会继续执行。
CountDownLatch的基础和原理
什么是CountDownLatch? CountDownLatch是 juc包下的一个同步辅助类。它允许一个或多个线程等待其他一组线程完成操作,再继续执行。
ReentrantReadWriteLock基础和原理
什么是ReentrantReadWriteLock? 传统的锁,比如synchronized或者ReentrantLock,无论是读还是写,同一时间只允许一个线程访问共享资源。
信号量Semaphore
什么是信号量Semaphore? 信号量(Semaphore) 是JUC中的一个同步工具,用于控制同时访问特定资源的线程数量,通过维护一组许可证(permits) 来实现并发控制。
AQS:AbstractQueuedSynchronizer
什么是AQS? AQS(AbstractQueuedSynchronizer)是Java并发包(java.util.concurrent.locks)中的一个核心框架
CAS的原理
CAS是什么? CAS是Compare And Set,因此CAS是一个“比较”和“交换”的复合操作。当且仅当目标内存地址的值等于“预期值”时,才将“新值”写入该地址。
不可变类
不可变类的设计 final的使用 使用final修饰类以及类中的所有属性: 类要使用final修饰,保证类中的方法不会被覆盖掉,防止子类在无意中破坏了不可变性 属性用final修饰,保证该属性是只读的
LongAdder相对于AtomicLong为什么快那么多?
本文将先介绍AtomicLong,再对比AtomicLong和LongAdder的效率差异,并介绍LongAdder的实现原理,最后引出LongAccumulator
JMM:Java内存模型
Java内存模型(JMM) JMM是一个抽象的概念,并不是真实存在的物理内存结构(如堆、栈、方法区)。可以把它理解为Java虚拟机定义的一组规则或协议。
可重入锁ReentrantLock基础和原理
ReenterantLock基础 ReenterantLock是 synchronized关键字的扩展。它是一个显示锁,意味着锁的获取和释放必须由程序员手动编写代码控制。
对象头、Monitor与synchronized
从最开始学Java的时候,便听说`int`类型比`Integer`类型要小很多,那么究竟是小在哪里呢?`Integer`比`int`究竟多了什么东西?这是本文要着重介绍的对象头,并介绍Monitor
线程创建和Thread类
Java创建线程主要有继承Thread、实现Runnable或Callable三种方法。它们本质都是为Thread设置待执行的run方法,并通过start()方法启动JVM层面的线程。
下一页