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
JUC源码系列
Java并发编程(十八):ThreadPoolExecutor总结与源码深度分析
目录前言ThreadPoolExecutor总结构造参数线程池状态数据存储源码分析其它核心方法实现总结前言
JUC
中包含了很多的工具类,不论是第三方工具包,还是自己开发的业务系统,使用最多的还是是线程池
黄智霖-blog
·
2021-04-28 23:19
Java并发编程
JAVA
并发编程
java
多线程
ThreadPool
读 Zepto 源码之集合元素查找
读Zepto
源码系列
文章已经放到了github上,欢迎star:reading-zepto源码版本本文阅读的源码为zepto1.2.0内部方法之前有一章《读Zepto源码之内部方法》是专门解读zepto
对角另一面
·
2021-04-28 14:19
【Java面试】:第二章:P6级面试
JUC
包,毫无疑问的,你得去学,哪怕你平时编程根本不去用,但是你得会,只得知道有这个东西,你至少得知道aba,cas,aqs,unsafe,volatile,sync,常见
java小丑
·
2021-04-26 21:59
#
P6级面试
java
面试
算法
链表
中间件
ThreadPoolExecutor线程池的使用及原理
*;importjava.util.concurrent.atomic.AtomicInteger;//
JUC
publicclassThreadPoolTests{publicstaticvoidmain
布诺i
·
2021-04-26 15:20
Java
java
多线程
thread
并发编程
队列
JUC
系列 - ReentrantLock源码解析
ReentrantLock,可重入锁,是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大、灵活的锁机制,可以减少死锁发生的概率。AreentrantmutualexclusionLockwiththesamebasicbehaviorandsemanticsastheimplicitmonitorlockac
FX_SKY
·
2021-04-26 08:38
Apache Iecberg 从入门到放弃(3) ——
源码系列
之Flink读过程分析
背景介绍上一章和带大家了解了一下Iceberg的元数据文件特殊之处,也简单的给大家描述了一下Iceberg是如何从快速定位到数据文件的,上一章将的比较干,因为都是一些理论知识,这一章我们从iceberg-flink模块的源码出发,带大家更加深入的了解Iceberg注意:本次源码分析基于Iceberg0.11x分支,主要是讲解iceberg-flink模块,其余模块因为暂未深入了解所以会跳过,敬请见
Flink-狄杰
·
2021-04-24 18:28
Apache
Iceberg
Flink
Flink源码
大数据
数据湖
仓湖一体
Apache
Iceberg
数据仓库
JUC
使用案例
文章目录前言ReentranLockCountDownLatchCyclicBarrierPhaserReadWriteLockSemaphoreExchangerLockSupport总结前言
JUC
EileenChang
·
2021-04-23 09:33
JAVA多线程
java
多线程
并发编程
juc
spring
源码系列
一 IoC 和 DI
IoC是什么IoC:InversionofControl控制反转,也称依赖倒置(反转)IoC不是什么技术,而是一种设计思想。在Java开发中,IoC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。上例子:publicstaticvoidmain(String[]args){ServiceAserviceA=newServiceA();serviceA.doService()
Theodore的技术站
·
2021-04-22 11:27
AbstractQueuedSynchronizer 源码分析 (基于Java 8)
1.AbstractQueuedSynchronizer定义AbstractQueuedSynchronizer是
JUC
中通过SyncQueue(并发安全的CLHQueue),ConditionQueue
爱吃鱼的KK
·
2021-04-22 07:52
细说在线版H5页面生成器
Github:传送门演示地址:传送门目录说明阅读前准备概要后台代码简读前端代码简读待完善功能总结阅读前准备了解node了解express框架了解mongodb以及node连接框架mongoose了解nun
juc
ks
小虫巨蟹
·
2021-04-22 05:33
阿里P8面试扯了半小时:Java的Lock接口到底有什么用?
JUC
通过Lock和Condition接口实现管程Lock解决互斥Condition解决同步只见P8不慌不忙,又开始问道:synchronized也是管程的实现,既然Java已经在SDK实现了管程,为什么还要提供另一种实
公众号-JavaEdge
·
2021-04-21 10:19
Java并发编程
java
多线程
并发编程
面试
编程语言
JUC
并发编程小总结
JUC
是Java编发编程中使用的工具类,全称为java.util.concurrent。
眼红de熊熊
·
2021-04-21 10:20
JUC
java
juc
第4章 Java并发包中原子操作类原理剖析
目录原子变量操作类递增和递减操作代码compareAndSet方法AtomicLong使用示例JDK8中新增的原子操作类LongAdder原理源码分析LongAccumulator更多原子变量操作类
JUC
2w6f8c
·
2021-04-20 19:18
[转]说说ArrayBlockingQueue
它实现了BlockingQueue接口,有着队列、集合以及阻塞队列的所有方法,队列类图如下图所示image既然它在
JUC
包内,说明使用它是线程安全的,它内部使用ReentrantLock来保证线程安全。
瑜小贤
·
2021-04-19 21:07
JUC
并发核心AQS同步队列原理详解
Java并发编程的核心在java.util.concurrent(简称
juc
)包,而
juc
包的大部分工具都是以AQS为基础进行构建的,例如Semaphore、ReentranLock
keyuan0214
·
2021-04-19 10:06
JUC
-(12)AQS(下)-Condition
AQS(上)-独占模式AQS(中)-共享模式AQS(下)-Condition在之前的文章中已经介绍了独占模式和共享模式获取资源以及使用资源的分析了,现在开始介绍Condition.Condition是用来替换监视锁的wait/notify,但是它比wait/notify这种机制更加灵活.在我之前写的ReentrantLock中介绍过如何使用.如果还不知道它是如何使用的可以先参照该文章中对Condi
一个菜鸟JAVA
·
2021-04-19 08:57
【并发编程系列7】CountDownLatch,CyclicBarrier,Semaphore实现原理分析
CountDownLatch使用示例packagecom.zwx.concurrent.
juc
Util;importjava.util.concurrent.CountDownLatch;publicclassCountDownLatchDemo
刀哥说Java
·
2021-04-19 08:58
AQS & CAS
AQS在源码中被广泛使用,尤其是在
JUC
(JavaUtilConcurrent)中,比如ReentrantLock、Se
卡路fly
·
2021-04-19 04:35
Java ReentrantLock 源码解析与简单使用
文章目录一、java.util.concurrent.locks.Lock接口二、公平锁介绍简单使用ReentrantLock是
juc
中的一个可重入锁独占锁,该锁分为公平锁和非公平锁。
zhanghl111
·
2021-04-18 22:50
java
并发编程之synchronized的前世今生
在上一篇文章中并发编程之AQS探秘中,我们介绍了AQS的运用及实现原理,同时简单的展望了一下
JUC
包的大致结构及套路。
默写流年
·
2021-04-18 18:54
【并发编程系列5】
JUC
必知ReentrantLock和AQS同步队列实现原理分析
给读者的小惊喜:戳我前言锁是一种用来控制多线程访问共享资源的工具。通常,锁可以独占共享资源:同一时间只有一个线程可以获得锁,并且所有访问共享资源的线程都必须首先获得锁。前面我们介绍过了synchronized,使用synchronized的方法和代码块作用域机制使得使用监视器锁更加简单,并且帮助避免了许多关于锁的常见编程错误,比如锁未及时释放等问题。但是有时候我们需要更灵活的使用锁资源,例如,一些
刀哥说Java
·
2021-04-18 17:47
NASA科学总监给修女的回信
1970年,赞比亚修女Mary
Juc
unda给NASA(美国航空航天局)的科学副总监ErnstStuhlinger博士写了一封信问道:目前地球上还有这么多小孩子吃不上饭,他怎么能舍得为远在火星的项目花费数十亿美元
蒋沛711022
·
2021-04-18 04:35
深入理解 AQS 和 CAS 原理课程
AQS在源码中被广泛使用,尤其是在
JUC
(JavaUtilConcurrent)中,比如ReentrantLock(跟Java的synchronized功能差不多,但是拓展性比synchronized好
NC丶脑补东
·
2021-04-18 02:30
Java多线程技术之五(
JUC
之执行器框架)
一、Executor框架概述并发编程的一般方式是将任务拆分为一些子任务,然后使用多个线程来执行这些子任务,最后取得任务结果。Executor框架提供了一种将任务创建、任务执行过程、获取任务结果相分离的方法,让我们无需处理线程使用的细节,使并发编程更加方便。Executor框架包括3个部分:任务:抽象成Runnable接口和Callable接口。任务结果:抽象成Future接口。执行器:抽象成Exe
愚工J
·
2021-04-18 00:03
Lock非公平锁源码解读
ReentrantLock锁源码解析每当谈起锁,我一定要说一下大神DougLea,可以说是java并发编程鼻祖,
juc
包的作者,把每一行代码的性能做到了极致,曾经吊打jvm的synchronized锁,
断忆残缘
·
2021-04-16 10:35
JUC
解析 抽象队列同步器(AQS-AbstractQueuedSynchronizer)
抽象队列同步器(AQS-AbstractQueuedSynchronizer)从名字上来理解:抽象:是抽象类,具体由子类实现队列:数据结构是队列,使用队列存储数据同步:基于它可以实现同步功能我们就从这几个方面来入手解读,但首先,我们得先知道以下几个它的特点,以便于理解AbstractQueuedSynchronizer特点1.AQS可以实现独占锁和共享锁。2.独占锁exclusive是一个悲观锁。
·
2021-04-13 19:48
java
JUC
解析 抽象队列同步器(AQS-AbstractQueuedSynchronizer)
抽象队列同步器(AQS-AbstractQueuedSynchronizer)从名字上来理解:抽象:是抽象类,具体由子类实现队列:数据结构是队列,使用队列存储数据同步:基于它可以实现同步功能我们就从这几个方面来入手解读,但首先,我们得先知道以下几个它的特点,以便于理解AbstractQueuedSynchronizer特点1.AQS可以实现独占锁和共享锁。2.独占锁exclusive是一个悲观锁。
·
2021-04-13 19:25
java
java多线程并发异步编程,高效利用
JUC
+lambda
前言当我们的业务变得复杂,需求导致我们需要开多线程去做业务执行,通常我们使用的是Executors去创建+RetreenLock+原子类atomic去操作多个线程间的协作,但当业务更具象化时我们需要对线程存在依赖关系,组合,排序,并发,串行等操作,这时候我们可以用RetreenLock的Condition,用变量来控制unlock去决定是否放开与执行,但终究还是太麻烦,所以今天我整理了Comple
SinceMay
·
2021-04-13 10:46
JUC
并发类概览
JUC
并发类及并发相关类概览,持续补充...AQS内部有两个队列,一个等待队列(前后节点),一个条件队列(后继节点),其实是通过链表方式实现;等待队列是双向链表;条件队列是单向链表;条件队列如果被唤醒,
·
2021-04-13 02:16
jdkjuc
Java并发-
JUC
(下)
并发容器JDK提供的并发容器大部分在java。util.concurrent包中。比较常用的有:ConcurrentHashMap:线程安全版HashMap。ConcurrentLinkedQueue:线程安全版LinkedList。ConcurrentSkipListMap:线程安全版跳表Map。CopyOnWriteArrayList:线程安全版List,但是不是通过锁实现。在读多写少的场合性
·
2021-04-11 19:07
java
Java并发-
JUC
(中)
接上节内容ThreadPool在多线程开发中,如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来就会大大降低系统的效率。可能出现服务器在为每个请求创建新线程和销毁线程上花费的时间和消耗的系统资源要比处理实际的用户请求的时间和资源更多。为了复用线程减少资源浪费,我们就需要使用到线程池。线程池提供了一种限制和管理线程资源的方案。通过线程池我们可以达到如下目的:降
·
2021-04-11 19:33
java
Java并发-
JUC
(上)
引言本文介绍了JDK中常用的并发库(
JUC
)的使用方式,并且自上而下地剖析了其实现原理,从直接下级框架AbstractQueuedSynchronizer,也就是大家常说的AQS,再到其中使用的CAS,
·
2021-04-11 19:00
java
Java并发-
JUC
(上)
引言本文介绍了JDK中常用的并发库(
JUC
)的使用方式,并且自上而下地剖析了其实现原理,从直接下级框架AbstractQueuedSynchronizer,也就是大家常说的AQS,再到其中使用的CAS,
·
2021-04-11 19:00
java
Java并发-
JUC
(下)
并发容器JDK提供的并发容器大部分在java。util.concurrent包中。比较常用的有:ConcurrentHashMap:线程安全版HashMap。ConcurrentLinkedQueue:线程安全版LinkedList。ConcurrentSkipListMap:线程安全版跳表Map。CopyOnWriteArrayList:线程安全版List,但是不是通过锁实现。在读多写少的场合性
·
2021-04-11 19:26
java
Java并发-
JUC
(中)
接上节内容ThreadPool在多线程开发中,如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来就会大大降低系统的效率。可能出现服务器在为每个请求创建新线程和销毁线程上花费的时间和消耗的系统资源要比处理实际的用户请求的时间和资源更多。为了复用线程减少资源浪费,我们就需要使用到线程池。线程池提供了一种限制和管理线程资源的方案。通过线程池我们可以达到如下目的:降
·
2021-04-11 19:50
java
斩获 offer 的 Java 面试宝典
2.1.3volatile关键字的作用2.1.4synchronized2.2
JUC
2.2.1阻塞队列2.2
程序员爱酸奶(QuellanAn)
·
2021-04-11 11:57
我在拉勾训练营学技术
面试
offer
java并发编程
JUC
第十二篇:AtomicInteger原子整型
AtomicInteger类底层存储一个int值,并提供方法对该int值进行原子操作。AtomicInteger作为java.util.concurrent.atomic包的一部分,从Java1.5开始引入。1.AtomicInteger基础用法通过下文的AtomicInteger构造方法,可以创建一个AtomicInteger对象,该对象的初始值默认为0。AtomicInteger提供get和s
·
2021-04-08 08:27
spring
java并发编程
JUC
第十二篇:AtomicInteger原子整型
AtomicInteger类底层存储一个int值,并提供方法对该int值进行原子操作。AtomicInteger作为java.util.concurrent.atomic包的一部分,从Java1.5开始引入。1.AtomicInteger基础用法通过下文的AtomicInteger构造方法,可以创建一个AtomicInteger对象,该对象的初始值默认为0。AtomicInteger提供get和s
·
2021-04-08 08:25
spring
Atomic包常用类总结
1.前言Atomic是
JUC
提供的一组原子操作的封装类,它们位于java.util.concurrent.atomic中,Atomic类是通过无锁(lock-free)的方式实现的线程安全(thread-safe
DannyZeng
·
2021-04-07 23:27
java并发编程
JUC
第十一篇:如何在线程之间进行对等数据交换
java.util.concurrent.Exchanger可以用来进行数据交换,或者被称为“数据交换器”。两个线程可以使用Exchanger交换数据,下图用来说明Exchanger的作用在下面的代码中首先我们定义了一个Exchanger,用于数据交换然后定义了两个线程对象bookExchanger1和bookExchanger2,两个线程都持有Exchanger交换器对象用于数据交换两个线程中的
·
2021-04-06 08:27
spring
java并发编程
JUC
第十一篇:如何在线程之间进行对等数据交换
java.util.concurrent.Exchanger可以用来进行数据交换,或者被称为“数据交换器”。两个线程可以使用Exchanger交换数据,下图用来说明Exchanger的作用在下面的代码中首先我们定义了一个Exchanger,用于数据交换然后定义了两个线程对象bookExchanger1和bookExchanger2,两个线程都持有Exchanger交换器对象用于数据交换两个线程中的
·
2021-04-06 08:26
spring
使用 Hexo 在 Github/Gitee 搭建博客
强大的API能与数种模板引擎(EJS,Pug,Nun
juc
ks)和工具(Babel,PostCSS,Less/
·
2021-04-05 02:14
使用 Hexo 在 Github/Gitee 搭建博客
强大的API能与数种模板引擎(EJS,Pug,Nun
juc
ks)和工具(Babel,PostCSS,Less/
·
2021-04-05 01:02
话说 LockSupport
LockSupport要从wait/notify/notifyAll、condition.await/signal/signalAll说起在
JUC
包中很多地方都会使用到LockSupport比如我们前边写的
·
2021-04-04 21:24
java
话说 LockSupport
LockSupport要从wait/notify/notifyAll、condition.await/signal/signalAll说起在
JUC
包中很多地方都会使用到LockSupport比如我们前边写的
·
2021-04-04 21:39
java
java并发编程
JUC
第十篇:CyclicBarrier线程同步
在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue、BlockingDeque接口、ConcurrentHashMap、CountDownLatch,本文为系列文章第十篇。java.uti
·
2021-04-01 07:20
spring
java并发编程
JUC
第十篇:CyclicBarrier线程同步
在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue、BlockingDeque接口、ConcurrentHashMap、CountDownLatch,本文为系列文章第十篇。java.uti
·
2021-04-01 07:50
spring
java并发编程
JUC
第九篇:CountDownLatch线程同步
在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue、BlockingDeque接口、ConcurrentHashMap,本文为系列文章第九篇。CountDownLatch是一种线程同步辅助
·
2021-03-31 09:44
spring
java并发编程工具类
JUC
第八篇:ConcurrentHashMap
在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue、BlockingDeque接口,本文为系列文章第八篇。由于Java程序员常用的HashMap的操作方法不是同步的,所以在多线程环境下会导
·
2021-03-31 09:13
spring
java并发编程工具类
JUC
第七篇:BlockingDeque双端阻塞队列
在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue,本文为系列文章第七篇。BlockingDeque接口和BlockingQueue接口一样都是在java.util.concurrent中
·
2021-03-31 09:13
spring
上一页
47
48
49
50
51
52
53
54
下一页
按字母分类:
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
其他