首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java并发编程
初念初恋
创建于2022-12-19
订阅专栏
深入浅出Java并发编程
等 22 人订阅
共16篇文章
创建于2022-12-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
聊聊Fork/Join并发框架
Fork/Join框架是一个实现了ExecutorService接口的多线程处理器,它专为那些可以通过递归分解成更细小的任务而设计,最大化的利用多核处理器来提高应用程序的性能。
java中CopyOnWriteArrayList详解
CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,实现读写分离。
Java中的CopyOnWrite容器
CopyOnWrite,当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。
一文彻底弄懂ConcurrentHashMap,轻松应对面试官!
ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。
synchronized与锁
在多线程并发编程中synchronized一直是元老级角色,很多人会称呼它为重量级锁。本文将详细介绍 Java SE 1.6 中对synchronized进行了各种优化。
Java并发编程之可见性、原子性、有序性问题
本篇文章我们就Java并发中涉及的可见性、原子性以及有序性进行剖析,分析其原因以及解决的方法,更好的理解并发的原理。
聊聊CAS与原子操作
CAS,即Compare and Swap,是基于硬件级别的指令实现的同步,Java并发包 java.util.concurrent 许多同步类基于CAS构建,因此可见CAS的重要性。
深入理解Java线程间通信
合理的使用Java多线程可以更好地利用服务器资源。一般来讲,线程内部有自己私有的线程上下文,互不干扰。但是当我们需要多个线程之间相互协作的时候,就需要我们掌握Java线程的通信方式。
一文弄懂Java中线程池原理
在工作中,我们经常使用线程池,但是你真的了解线程池的原理吗?同时,线程池工作原理和底层实现原理也是面试经常问的考题,所以,今天我们一起聊聊线程池的原理吧。
【细谈Java并发】谈谈LinkedBlockingQueue
上篇我们介绍了ArrayBlockingQueue的相关方法的原理,这一篇我们来学习一下ArrayBlockingQueue的“亲戚” LinkedBlockingQueue。在集合框架里,想必大家都用过ArrayList和LinkedList,也经常在面试中问到他们之间的区别…
聊聊JAVA中的并发工具类
CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类提供了在线程间交换数据的一种方法。
多线程基础知识篇
Java 给多线程编程提供了内置的支持, 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
Java内存模型
Java内存模型(即Java Memory Model,简称JMM)本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量的访问方式。
重排序与happens-before
计算机在执行程序时,为了提高性能,编译器和处理器常常会对指令做重排。对于java程序员来说,理解 happens-before 是理解JMM的关键。
volatile关键字
在Java中,volatile关键字有特殊的内存语义。volatile主要有以下两个功能:1、保证变量的内存可见性;2、禁止volatile变量与普通变量重排序。
Java 并发编程—ArrayBlockingQueue
ArrayBlockingQueue 顾名思义:基于数组的阻塞队列。数组是要指定长度的,所以使用 ArrayBlockingQueue 时必须指定长度,也就是它是一个有界队列。它实现了 BlockingQueue 接口,有着队列、集合以及阻塞队列的所有方法。 ArrayBloc…