E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
J.U.C
什么是线程、并发-
J.U.C
并发系列(2)
回顾回顾上一篇的文章,我们主要介绍了现代计算机模型,CPU的缓存一致性协议,CPU和内存的工作原理,这些知识点都是为了更好的去学习我们的Java并发编程。介绍本文,我们来了解一个概念,什么是线程?Java中线程和计算机的线程有什么区别?什么是线程现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序、网页、软件应用等,操作系统就会创建一个进程。现代操作系统调度CPU的最小单元
油腻的Java
·
2022-02-16 15:52
阿里十年架构师,教你深度分析ConcurrentHashMap原理分析
阿里十年架构师,教你深度分析ConcurrentHashMap原理分析ConcurrentHashMap的初步使用及场景CHM的使用ConcurrentHashMap是
J.U.C
包里面提供的一个线程安全并且高效的
勤奋的码农
·
2022-02-15 21:44
J.U.C
学习(七)之 “concurrentHashMap与HashMap、hashTable”
前言ConcurrentHashMap是
J.U.C
包里面提供的一个线程安全并且高效的HashMap,所以ConcurrentHashMap在并发编程的场景中使用的频率比较高,今天就从ConcurrentHashMap
依剑行走天下
·
2022-02-14 09:26
java并发编程知识体系
java
[Java源码][并发
J.U.C
]---解析ReentrantReadWriteLock
前言本文将分析读写锁ReentrantReadWriteLock的源码,也会在分析中穿插一些例子来加深对源码的理解.本文会如以下顺序介绍.1.整体架构2.读写状态的设计3.写锁的源码分析并以例子加深理解4.读锁的源码分析并以例子加深理解5.锁降级本文源码下载整体架构读写锁在读线程获得锁时可以允许多个读线程同时访问,但是在写线程获得锁时,所有的读线程和其他写线程均被阻塞.ReentrantReadW
nicktming
·
2022-02-10 23:10
将ArrayBlockingQueue扒得“体无完肤”
目录一、写在前面二、造个轮子先三、基本测试四、并发测试五、窥探本尊:ArrayBlockingQueue六、实际场景中玩儿一把一、写在前面较长一段时间以来,都发现不少开发者对jdk中的
J.U.C
(java.util.concurrent
JAVA伯乐
·
2022-02-05 10:06
线程安全-并发容器
J.U.C
ArrayList->CopyOnWriteArrayList当有新元素添加到CopyOnWriteArrayList的时候,先从原有的数组里拷贝一份出来,然后在新的数组上做些操作,写完之后再将原来的数组指向新的数组。整个的add操作都是在写的保护下进行的,避免在多线程并发下进行add操作时复制出多个数组出来,把数据搞乱缺点:消耗内存;不能用于实时读的操作适合读多写少的场景设计思想:读写分离、最终
墨平语凡
·
2022-02-04 20:30
AQS和ReentrantLock详解,看不懂来打我
文章来源公众号三不猴子
J.U.C
简介Java.util.concurrent是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。
三不猴子
·
2021-11-29 21:59
[转]谈谈锁
一种是JVM帮我们实现的,通过synchronized关键字来进行加锁,另外一种是
J.U.C
包中的Lock接口,该接口中的两个常用的用来加锁和解锁的方法为:lock()、unlock(),除此
瑜小贤
·
2021-10-26 11:25
教你用Java7的Fork/Join框架开发高并发程序
摘要:Fork/Join框架位于
J.U.C
(java.util.concurrent)中,是Java7中提供的用于执行并行任务的框架,其可以将大任务分割成若干个小任务,最终汇总每个小任务的结果后得到最终结果
·
2021-10-11 12:16
java高并发线程算法fork
J.U.C
并发包简介
J.U.C
并发包简介
J.U.C
并发包,即java.util.concurrent包,是JDK的核心工具包,是JDK1.5之后,由DougLea实现并引入.整个
J.U.C
包按照功能可划分如下:J.U.C_locks
Duanty
·
2021-09-17 11:37
J.U.C
阻塞队列(三) - LinkedBlockingQueue
1概述LinkedBlockingQueue是一个用单项链表实现的的线程安全的有界的阻塞队列。队列按照先进先出(FIFO)的原则对元素进行排序。通过以下关键词分析我们来更深入理解ArrayBlockingQueue1.1如何理解“队列”队列这个概念非常好理解。你可以把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的“队列”。相对于栈只支持两个基本操作:入栈pu
贪睡的企鹅
·
2021-06-25 08:08
JAVA并发编程与高并发解决方案 - 并发编程 五
-并发编程一之并发相关知识JAVA并发编程与高并发解决方案-并发编程二之线程安全性、安全发布对象JAVA并发编程与高并发解决方案-并发编程三之线程安全策略JAVA并发编程与高并发解决方案-并发编程四之
J.U.C
Apple_Boy
·
2021-06-24 10:17
大厂之路一由浅入深、并行基础、源码分析一 “
J.U.C
”之collections框架:ConcurrentHashMap扩容迁移等方法的源码分析(学妹哭着对我说:太难了!!!!我要回家!!)
Java多线程进阶(二四)——
J.U.C
之collections框架:ConcurrentHashMap(2)扩容jdk不同版本下HashMap和ConcurrentHashMap的对比一
slow is fast.
·
2021-06-24 07:43
J.U.C
源码
j.u.c
ConcurrentHashMap tableSizeFor方法
Java8之后的ConcurrentHashMap,舍弃分段锁JDK源码中HashMap的hash方法原理是什么?ConcurrentHashMap源码解读unsafeunsafearrayIndexScaletableSizeFor方法先来分析有关n位操作部分:先来假设n的二进制为01xxx...xxx。接着对n右移1位:001xx...xxx,再位或:011xx...xxx对n右移2为:000
BenjaminCool
·
2021-06-21 05:52
Java 多线程
J.U.C
之AQS(AbstractQueuedSynchronizer)http://www.cnblogs.com/waterystone/p/4920797.html抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架
HansenGuan
·
2021-06-11 01:45
深度分析ConcurrentHashMap原理分析
ConcurrentHashMap的初步使用及场景CHM的使用ConcurrentHashMap是
J.U.C
包里面提供的一个线程安全并且高效的HashMap,所以ConcurrentHashMap在并发编程的场景中使用的频率比较高
Java架构进阶之路
·
2021-06-09 08:07
JAVA并发编程与高并发解决方案 - 并发编程 四
-并发编程一之并发相关知识JAVA并发编程与高并发解决方案-并发编程二之线程安全性、安全发布对象JAVA并发编程与高并发解决方案-并发编程三之线程安全策略JAVA并发编程与高并发解决方案-并发编程五之
J.U.C
Apple_Boy
·
2021-06-08 23:12
JAVA并发编程与高并发解决方案 - 并发编程 二
2018.5.29chuIllusions修改错别字以及内容补充相关文章JAVA并发编程与高并发解决方案-并发编程一之并发相关知识JAVA并发编程与高并发解决方案-并发编程三之线程安全策略JAVA并发编程与高并发解决方案-并发编程四之
J.U.C
Apple_Boy
·
2021-06-07 21:18
并发系列之 Future 框架详解
本文将主要讲解
J.U.C
中的Future框架,并分析结合源码分析其内部结构逻辑;一、Future框架概述JDK中的Future框架实际就是Future模式的实现,通常情况下我们会配合线程池使用,但也可以单独使用
java小牛
·
2021-06-06 05:39
J.U.C
Lock ReentrantLock
示例1importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;publicclassAtomicIntegerWithLock{privateintvalue;privateLocklock=newReentrantLock();publicAtomicIntegerWithLock(
歌哥居士
·
2021-06-06 04:39
[Java源码][并发
J.U.C
]---解析线程池之ThreadPoolExecutor(2)
前言本文会分析到ThreadPoolExecutor的线程池是如何工作的,包括基本属性,内部类Worker,核心方法execute,runWorker,addWorker等等.例子1用一个简单的例子看看线程池是如何操作的packagecom.threadpool;publicclassFixPoolDemo{privatestaticRunnablegetThread(finalinti){ret
nicktming
·
2021-06-05 22:05
【大厂Java并发编程面试题解】显式锁(Explicit Locks)
内置锁不适用的场景包括:无法中断一个正在等待获取锁的线程无限的锁等待内置锁必须放在代码块里(编程有些局限性)所以提供了
J.U.C
的Lock接口及实现。
JavaEdge.
·
2021-06-05 15:59
Java并发编程
06 并发编程之AQS
通过JCP的JSR166规范,Jdk1.5开始引入了
j.u.c
包,这个包提供了一系列支持并发的组件。
攻城狮哦哦也
·
2021-05-19 07:20
理解 AQS
AQS全称AbstractQueuedSynchronizer,
J.U.C
并发包中的核心基础组件之一,可用来构建锁和同步器。
殷天文
·
2021-05-15 10:27
深入理解CAS机制
但是这种方式使得多线程的访问变成了串行的,同一时刻只能有一个线程可以更改long的值,那么为了能够使多线程并发的更新long的值,我们可以使用
J.U.C
包中的Atomic原子类。
逅弈
·
2021-05-10 22:28
J.U.C
阻塞队列源码剖析系列(三)之 LinkedBlockingQueue
上一篇文章剖析了ArrayBlockingQueue的相关源码,那这篇文章接着看另外一个常见的阻塞队列——LinkedBlockingQueue简介LinkedBlockingQueue从字面意思可以知道,这是一个链表结构的阻塞队列。咱们还是先从一个Demo入手吧!publicclassLinkedBlockingQueueDemo{publicstaticvoidmain(String[]arg
爱打乒乓的程序员
·
2021-05-08 15:29
【死磕Java并发】-----
J.U.C
之阻塞队列:LinkedBlockingDeque
原文出处http://cmsblogs.com/『chenssy』前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链表组成的双向阻塞队列,双向队列就意味着可以从对头、对尾两端插入和移除元素,同样意味着LinkedBlockingDeque支持FIFO、FILO两种操作方式。LinkedBlockingDeque是可选容量的,在初始化时可以设
chenssy
·
2021-05-04 12:03
J.U.C
Lock LockSupport
LockSupport既弥补了resume()在suspend()之前发生,也不需要向Object.wait()那样需要获取对象的锁,也不会抛出InterruptedException。LockSupport采用类似信号量的机制为每个线程准备了一个许可。如果许可可用,park函数立即返回,如果许可不可用则阻塞,而unpark()则可以使许可可用(因此可见,许可可用park返回,许可不可用unpar
歌哥居士
·
2021-05-02 13:39
J.U.C
之AQS
图片.pngCountDownLatchCountDownLatchExample1packagecom.alan.concurrency.example.aqs;importlombok.extern.slf4j.Slf4j;importjava.util.concurrent.CountDownLatch;importjava.util.concurrent.ExecutorService;i
磊_5d71
·
2021-04-26 13:13
【
J.U.C
】之 ReentrantLock(重入锁)源码浅析
【
J.U.C
】之ReentrantLock(重入锁)源码浅析一、ReentrantLock简介ReentrantLock是java.util.concurrent(简称
J.U.C
)下面的一个工具类,他是基于
小风嗖嗖的吹
·
2021-04-21 17:13
java源码
多线程
并发编程
java
juc
Java线程池实现原理及实战(美团)
J.U.C
提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。
夜风月圆
·
2021-04-20 19:33
08章 -
J.U.C
组件扩展
FutureandFutureTaskpublicclassFutureExample{staticclassMyCallableimplementsCallable{@OverridepublicStringcall()throwsException{log.info("dosomethingincallable");Thread.sleep(5000);return"Done";}}publi
菜鸟程序员一枚
·
2021-04-20 10:58
【死磕Java并发】-----
J.U.C
之AQS:CLH同步队列
此篇博客所有源码均来自JDK1.8在上篇博客【死磕Java并发】-----
J.U.C
之AQS:AQS简介中提到了AQS内部维护着一个FIFO队列,该队列就是CLH同步队列。
chenssy
·
2021-04-19 19:42
(4)AQS底层原理分析
我们在接下来的课程中,回去剖析一些经典的比较常用的组件的设计思想2.LockLock在
J.U.C
中是最核心的组件,前面我们讲synchronized的时候说过,锁最重要的特性就是
Mrsunup
·
2021-04-19 10:04
Java 基础篇
Java基础主要包含以下部分:语言基础锁多线程并发包中常用的并发容器(
J.U.C
)语言基础Java的面向对象Java语言的三大特征:封装、继承和多态Java语言数据类型:内置数据类型(byte、short
Minnakey
·
2021-04-18 06:08
JAVA并发编程与高并发解决方案 - 并发编程 六 之 线程池
-并发编程一之并发相关知识JAVA并发编程与高并发解决方案-并发编程二之线程安全性、安全发布对象JAVA并发编程与高并发解决方案-并发编程三之线程安全策略JAVA并发编程与高并发解决方案-并发编程四之
J.U.C
chuIllusions丶
·
2021-03-10 22:46
11-2. 源码剖析AQS(AbstractQueuedSynchronizer)-抽象队列同步器
前言:上一节实现了一个自定义锁,并且验证了其功能,这节将从源码出发,解析
J.U.C
的源码,并引出抽象队列同步器(AQS)。
Vander1991
·
2021-03-06 17:10
Java多线程进阶(四二)——
J.U.C
之executors框架:Future模式
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、Future模式简介Future模式是Java多线程设计模式中的一种常见模式,它的主要作用就是异步地执行任务,并在需要的时候获取结果。我们知道,一般调用一个函数,需要等待函数执行完成,调用线程才会继续往下执行,如果是一些计算密集型任务,需要等待的时间可能就会比较长。笔者在读书期间曾参与过一个国家电网的复杂
·
2021-02-23 09:23
java并发多线程
Java多线程进阶(四十)——
J.U.C
之executors框架:ThreadPoolExecutor
ThreadPoolExecutor,它是
J.U.C
在JDK1.5时提供的一种实现了ExecutorS
·
2021-02-23 09:22
java并发多线程
Java多线程进阶(三八)——
J.U.C
之collections框架:LinkedTransferQueue
本文首发于一世流云专栏:https://segmentfault.com/blog...一、LinkedTransferQueue简介LinkedTransferQueue是在JDK1.7时,
J.U.C
·
2021-02-23 09:22
java并发多线程
Java多线程进阶(三九)——
J.U.C
之executors框架:executors框架概述
本文首发于一世流云专栏:https://segmentfault.com/blog...一、executors框架简介juc-executors框架是整个
J.U.C
包中类/接口关系最复杂的框架,真正理解
·
2021-02-23 09:22
java并发多线程
Java多线程进阶(三五)——
J.U.C
之collections框架:SynchronousQueue
本文首发于一世流云专栏:https://segmentfault.com/blog...一、SynchronousQueue简介SynchronousQueue是JDK1.5时,随着
J.U.C
包一起引入的一种阻塞队列
·
2021-02-23 09:51
java并发多线程
Java多线程进阶(三六)——
J.U.C
之collections框架:DelayQueue
本文首发于一世流云专栏:https://segmentfault.com/blog...一、DelayQueue简介DelayQueue是JDK1.5时,随着
J.U.C
包一起引入的一种阻塞队列,它实现了
·
2021-02-23 09:51
java并发多线程
Java多线程进阶(三七)——
J.U.C
之collections框架:LinkedBlockingDeque
LinkedBlockingDeque和ConcurrentLinkedDeque类似,都是一种双端队列的结构,只不过LinkedBlockingDeque同时也是一种阻塞队列,它是在JDK1.5时随着
J.U.C
·
2021-02-23 09:51
java并发多线程
Java多线程进阶(三四)——
J.U.C
之collections框架:PriorityBlockingQueue
本文首发于一世流云专栏:https://segmentfault.com/blog...一、PriorityBlockingQueue简介PriorityBlockingQueue,是在JDK1.5时,随着
J.U.C
·
2021-02-23 09:50
java并发多线程
Java多线程进阶(三三)——
J.U.C
之collections框架:LinkedBlockingQueue
本文首发于一世流云专栏:https://segmentfault.com/blog...一、LinkedBlockingQueue简介LinkedBlockingQueue是在JDK1.5时,随着
J.U.C
·
2021-02-23 09:20
java并发多线程
Java多线程进阶(三十)——
J.U.C
之collections框架:ConcurrentLinkedDeque
本文首发于一世流云专栏:https://segmentfault.com/blog...一、引言在开始讲ConcurrentLinkedDeque之前,我们先来了解下Deque这种数据结构,我们知道Queue是一种具有FIFO特点的数据结构,元素只能在队首进行“入队”操作,在队尾进行“出队”操作。而Deque(double-endedqueue)是一种双端队列,也就是说可以在任意一端进行“入队”,
·
2021-02-23 09:19
java多线程
Java多线程进阶(三一)——
J.U.C
之collections框架:BlockingQueue接口
本文首发于一世流云专栏:https://segmentfault.com/blog...一、引言从本节开始,我们将介绍juc-collections框架中的“阻塞队列”部分。阻塞队列在实际应用中非常广泛,许多消息中间件中定义的队列,通常就是一种“阻塞队列”。那么“阻塞队列”和我们之前讨论过的ConcurrentLinkedQueue、ConcurrentLinkedDeque有什么不同呢?Conc
·
2021-02-23 09:19
java多线程
Java多线程进阶(三二)——
J.U.C
之collections框架:ArrayBlockingQueue
本文首发于一世流云专栏:https://segmentfault.com/blog...一、ArrayBlockingQueue简介ArrayBlockingQueue是在JDK1.5时,随着
J.U.C
·
2021-02-23 09:19
java多线程
Java多线程进阶(二八)——
J.U.C
之collections框架:CopyOnWriteArraySet
//segmentfault.com/blog...一、CopyOnWriteArraySet简介CopyOnWriteArraySet,是另一类适合并发环境的SET工具类,也是在JDK1.5时,随着
J.U.C
·
2021-02-23 09:18
java多线程
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他