SF
菜菜的后端私房菜
菜菜的后端私房菜
注册登录
关注博客
注册登录
主页
关于
RSS
9张图深入剖析ConcurrentHashMap
菜菜的后端私房菜
2023-10-05
阅读 20 分钟
554
如果想使用线程安全的,可以使用ConcurrentHashMap、HashTable、Collections.synchronizedMap等
深入剖析ThreadLocal使用场景、实现原理、设计思想
菜菜的后端私房菜
2023-09-28
阅读 8 分钟
976
前言ThreadLocal可以用来存储线程的本地数据,做到线程数据的隔离ThreadLocal的使用不当可能会导致内存泄漏,排查内存泄漏的问题,不仅需要熟悉JVM、利用好各种分析工具还耗费人工如果能明白其原理并正确使用,就不会导致各种意外发生本文将从使用场景、实现原理、内存泄漏、设计思想等层面分析ThreadLocal,并顺带聊聊I...
10分钟巩固多线程基础
菜菜的后端私房菜
2023-09-28
阅读 7 分钟
547
10分钟巩固多线程基础前言多线程是并发编程的基础,本篇文章就来聊聊多线程我们先聊聊概念,比如进程与线程,串行、并行与并发再去聊聊线程的状态、优先级、同步、通信、终止等知识进程与线程什么是进程?操作系统将资源分配给进程,使用进程进行调度,但进程遇到阻塞任务时,为了提升CPU利用率,会进行切换进程由于切换...
12张图一次性搞懂高性能并发容器ConcurrentLinkedQueue
菜菜的后端私房菜
2023-09-24
阅读 8 分钟
1.5k
12张图一次性搞懂高性能并发容器ConcurrentLinkedQueue前言上篇文章聊到并发集合CopyOnWeiteArrayList的实现与特点,其不足之处是不适合写多的场景也不适合并发量大的场景本篇文章来聊聊并发场景下高性能的ConcurrentLinkedQueue阅读本文大概需要10分钟在阅读本文前,需要理解CAS、volatile等知识如果不理解CAS可以查看...
5分钟从0到1探秘CopyOnWriteArrayList
菜菜的后端私房菜
2023-09-13
阅读 5 分钟
546
5分钟从0到1探秘CopyOnWriteArrayList前言最近的文章都是围绕并发编程写的,这段时间会写一些并发包下的并发容器,一篇篇文章去解析,彻底搞懂并发包中的并发容器在探秘CopyOnWriteArrayList前,我们先来聊聊并发场景下为什么不能使用ArrayList?并发场景下的ArrayListArrayList数组,支持动态扩容、随机访问...作为平时...
10分钟从实现和使用场景聊聊并发包下的阻塞队列
菜菜的后端私房菜
2023-09-09
阅读 13 分钟
1.1k
上篇文章12分钟从Executor自顶向下彻底搞懂线程池中我们聊到线程池,而线程池中包含阻塞队列这篇文章我们主要聊聊并发包下的阻塞队列阻塞队列什么是队列?队列的实现可以是数组、也可以是链表,可以实现先进先出的顺序队列,也可以实现先进后出的栈队列那什么是阻塞队列?在经典的生产者/消费者模型中,生产者们将生产的...
12分钟从Executor自顶向下彻底搞懂线程池
菜菜的后端私房菜
2023-09-08
阅读 15 分钟
904
前言上篇文章 13分钟聊聊并发包中常用同步组件并手写一个自定义同步组件 聊到并发包中常用的同步组件,并且还手把手实现了自定义的同步组件本篇文章来聊聊并发包下的另一个核心-线程池阅读本文大概12分钟通读本篇文章前先来看看几个问题,看看你是否以及理解线程池什么是池化技术?它有什么特点,哪些场景使用?Executor...
13分钟聊聊并发包中常用同步组件并手写一个自定义同步组件
菜菜的后端私房菜
2023-09-07
阅读 14 分钟
1.1k
前言上篇文章10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)说到JUC并发包中的同步组件大多使用AQS来实现本篇文章通过AQS自己来实现一个同步组件,并从源码级别聊聊JUC并发包中的常用同步组件本篇文章需要的前置知识就是AQS,如果不了解AQS的同学可以看上一篇文章哈~阅读本篇文章大概需要13分钟自定义同步组件...
5个案例和流程图让你从0到1搞懂volatile关键字
菜菜的后端私房菜
2023-09-06
阅读 7 分钟
1.1k
随着硬件的提升,机器的核心数从曾经的单核变为多核,为了提升机器的利用率,现在的并发编程变得越来越重要,成为工作中、面试中的重中之重,而为了能够更好的理解、使用并发编程,就应该构建出自己的Java并发编程知识体系。
15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized
菜菜的后端私房菜
2023-09-06
阅读 20 分钟
4k
本篇文章将围绕synchronized关键字,使用大量图片、案例深入浅出的描述CAS、synchronized Java层面和C++层面的实现、锁升级的原理、源码等
10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)
菜菜的后端私房菜
2023-09-05
阅读 12 分钟
578
object monitor中由cxq栈和entry list来实现阻塞队列,wait set实现等待队列,从而实现synchronized的等待/通知模式