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
Java多线程进阶(二六)——
J.U.C
之collections框架:ConcurrentSkipListSet
本文首发于一世流云专栏:https://segmentfault.com/blog...一、ConcurrentSkipListSet简介ConcurrentSkipListSet,是JDK1.6时
J.U.C
·
2021-02-23 09:18
java多线程
Java多线程进阶(二九)——
J.U.C
之collections框架:ConcurrentLinkedQueue
本文首发于一世流云专栏:https://segmentfault.com/blog...一、ConcurrentLinkedQueue简介ConcurrentLinkedQueue是JDK1.5时随着
J.U.C
·
2021-02-23 09:18
java多线程
Java多线程进阶(二七)——
J.U.C
之collections框架:CopyOnWriteArrayList
本文首发于一世流云专栏:https://segmentfault.com/blog...一、CopyOnWriteArrayList简介ArrayList是一种“列表”数据机构,其底层是通过数组来实现元素的随机访问。JDK1.5之前,如果想要在并发环境下使用“列表”,一般有以下3种方式:使用Vector类使用Collections.synchronizedList返回一个同步代理类;自己实现Arr
·
2021-02-23 09:18
java多线程
Java多线程进阶(二五)——
J.U.C
之collections框架:ConcurrentSkipListMap
本文首发于一世流云专栏:https://segmentfault.com/blog...一、ConcurrentSkipListMap简介类继承结构在正式讲ConcurrentSkipListMap之前,我们先来看下ConcurrentSkipListMap的类继承图:我们知道,一般的Map都是无序的,也就是只能通过键的hash值进行定位。JDK为了实现有序的Map,提供了一个SortedMap接
·
2021-02-23 09:47
java多线程
Java多线程进阶(二三)——
J.U.C
之collections框架:ConcurrentHashMap(1) 原理
本文首发于一世流云专栏:https://segmentfault.com/blog...一、ConcurrentHashMap类简介ConcurrentHashMap是在JDK1.5时,
J.U.C
引入的一个同步集合工具类
·
2021-02-23 09:46
java多线程
Java多线程进阶(二四)——
J.U.C
之collections框架:ConcurrentHashMap(2) 扩容
本文首发于一世流云专栏:https://segmentfault.com/blog...通过上一篇文章——ConcurrentHashMap原理(1),相信读者对ConcurrentHashMap的基本原理有了一个初步认识,但是上一篇中还有一个遗留问题没有讨论到,那就是ConcurrentHashMap的扩容和数据迁移。本文中,我们将会对这两个问题进行讨论。一、扩容的基本思路JDK1.8中,Con
·
2021-02-23 09:46
java多线程
Java多线程进阶(二一)——
J.U.C
之synchronizer框架:Exchanger
本文首发于一世流云专栏:https://segmentfault.com/blog...一、Exchanger简介Exchanger——交换器,是JDK1.5时引入的一个同步器,从字面上就可以看出,这个类的主要作用是交换数据。Exchanger有点类似于CyclicBarrier,我们知道CyclicBarrier是一个栅栏,到达栅栏的线程需要等待其它一定数量的线程到达后,才能通过栅栏。Excha
·
2021-02-23 09:46
java多线程
Java多线程进阶(二十)——
J.U.C
之synchronizer框架:Semaphore
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、Semaphore简介Semaphore,又名信号量,这个类的作用有点类似于“许可证”。有时,我们因为一些原因需要控制同时访问共享资源的最大线程数量,比如出于系统性能的考虑需要限流,或者共享资源是稀缺资源,我们需要有一种办法能够协调各个线程,以保证合理的使用公共资源。Semaphore维护了一个许可集,其
·
2021-02-23 09:45
java多线程
Java多线程进阶(十八)——
J.U.C
之synchronizer框架:CountDownLatch
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、CountDownLatch简介CountDownLatch是一个辅助同步器类,用来作计数使用,它的作用有点类似于生活中的倒数计数器,先设定一个计数初始值,当计数降到0时,将会触发一些事件,如火箭的倒数计时。初始计数值在构造CountDownLatch对象时传入,每调用一次countDown()方法,计数
·
2021-02-23 09:15
java多线程
Java多线程进阶(十七)——
J.U.C
之atomic框架:LongAdder
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、LongAdder简介JDK1.8时,java.util.concurrent.atomic包中提供了一个新的原子类:LongAdder。根据Oracle官方文档的介绍,LongAdder在高并发的场景下会比它的前辈————AtomicLong具有更好的性能,代价是消耗更多的内存空间:那么,问题来了:为什
·
2021-02-23 09:14
java多线程
Java多线程进阶(十六)——
J.U.C
之atomic框架:FieldUpdater
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、什么是FieldUpdater在java.util.concurrent.atomic包中,由三个比较特殊的原子类:AtomicIntegerFieldUpdater、AtomicLongFieldUpdater、AtomicReferenceFieldUpdater。通过名称可以看到,这几类的功能大致相
·
2021-02-23 09:44
java多线程
Java多线程进阶(十五)——
J.U.C
之atomic框架:Atomic数组
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、Atomic数组简介Atomic数组,顾名思义,就是能以原子的方式,操作数组中的元素。JDK提供了三种类型的原子数组:AtomicIntegerArray、AtomicLongArray、AtomicReferenceArray。这三种类型大同小异,AtomicIntegerArray对应AtomicIn
·
2021-02-23 09:44
java多线程
Java多线程进阶(十四)——
J.U.C
之atomic框架:AtomicReference
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、AtomicReference简介AtomicReference,顾名思义,就是以原子方式更新对象引用。可以看到,AtomicReference持有一个对象的引用——value,并通过Unsafe类来操作该引用:为什么需要AtomicReference?难道多个线程同时对一个引用变量赋值也会出现并发问题?
·
2021-02-23 09:44
java多线程
Java多线程进阶(十二)——
J.U.C
之atomic框架:Unsafe类
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、Unsafe简介在正式的开讲juc-atomic框架系列之前,有必要先来了解下Java中的Unsafe类。Unsafe类,来源于sun.misc包。该类封装了许多类似指针操作,可以直接进行内存管理、操纵对象、阻塞/唤醒线程等操作。Java本身不直接支持指针的操作,所以这也是该类命名为Unsafe的原因之一
·
2021-02-23 09:43
java多线程
Java多线程进阶(十)——
J.U.C
之locks框架:基于AQS的读写锁(5)
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、本章概述AQS系列的前四个章节,已经分析了AQS的原理,本章将会从ReentrantReadWriteLock出发,给出其内部利用AQS框架的实现原理。ReentrantReadWriteLock(以下简称RRW),也就是读写锁,是一个比较特殊的同步器,特殊之处在于其对同步状态State的定义与Reent
·
2021-02-23 09:43
java多线程
Java多线程进阶(十三)——
J.U.C
之atomic框架:AtomicInteger
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、AtomicInteger简介AtomicInteger,应该是atomic框架中用得最多的原子类了。顾名思义,AtomicInteger是Integer类型的线程安全原子类,可以在应用程序中以原子的方式更新int值。1.创建AtomicInteger对象先来看下AtomicInteger对象的创建。At
·
2021-02-23 09:43
java多线程
Java多线程进阶(九)——
J.U.C
之locks框架:AQS共享功能剖析(4)
CountDownLatch,是
J.U.C
中的一个同步器类,可作为倒数计数器使用,关于CountDownLatch的使用和说明,读者可以参考:J
·
2021-02-23 09:12
java多线程
Java多线程进阶(八)——
J.U.C
之locks框架:AQS的Conditon等待(3)
二、Condition接口的实现
J.U.C
包提供了Cond
·
2021-02-23 09:12
java多线程
Java多线程进阶(七)——
J.U.C
之locks框架:AQS独占功能剖析(2)
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、本章概述本章以ReentrantLock的调用为例,说明AbstractQueuedSynchronizer提供的独占功能。本章结构如下:以ReentrantLock的公平策略为例,分析AbstractQueuedSynchronizer的独占功能以ReentrantLock的非公平策略为例,分析Abst
·
2021-02-23 09:42
java多线程
Java多线程进阶(六)——
J.U.C
之locks框架:AQS综述(1)
在JDK1.5时,DougLea引入了
J.U.C
包,该包中的大多数同步器都是基于AQS来构建的。AQS框架提供了一套通用的机制来管理同步状态(synchroniza
·
2021-02-23 09:41
java多线程
Java多线程进阶(三)——
J.U.C
之locks框架:ReentrantLock
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、ReentrantLock类简介ReentrantLock类,实现了Lock接口,是一种可重入的独占锁,它具有与使用synchronized相同的一些基本行为和语义,但功能更强大。ReentrantLock内部通过内部类实现了AQS框架(AbstractQueuedSynchronizer)的API来实现
·
2021-02-23 09:11
java多线程
Java多线程进阶(五)——
J.U.C
之locks框架:LockSupport
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、LockSupport类简介LockSupport类,是JUC包中的一个工具类,是用来创建锁和其他同步类的基本线程阻塞原语。(Basicthreadblockingprimitivesforcreatinglocksandothersynchronizationclasses)LockSupport类的核
·
2021-02-23 09:11
java多线程
Java多线程进阶(四)——
J.U.C
之locks框架:ReentrantReadWriteLock
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、ReentrantReadWriteLock类简介ReentrantReadWriteLock类,顾名思义,是一种读写锁,它是ReadWriteLock接口的直接实现,该类在内部实现了具体独占锁特点的写锁,以及具有共享锁特点的读锁,和ReentrantLock一样,ReentrantReadWriteLo
·
2021-02-23 09:11
java多线程
Java多线程进阶(二)——
J.U.C
之locks框架:接口
本文首发于一世流云的专栏:https://segmentfault.com/blog...本系列文章中所说的juc-locks锁框架就是指java.util.concurrent.locks包,该包提供了一系列基础的锁工具,用以对synchronizd、wait、notify等进行补充、增强。juc-locks锁框架中一共就三个接口:Lock、Condition、ReadWriteLock,接下来
·
2021-02-23 09:10
java多线程
透彻理解Java并发编程系列
多线程这块知识的学习,真正的难点不在于多线程程序的逻辑有多复杂,而在于理清
J.U.C
包中各个多线程工具类之间的关系、特点及其使用场景(从整体到局部、高屋建瓴,这对学习任何知识都至关重要,如果
·
2021-02-23 09:10
java多线程
java线程池技术
J.U.C
提供的线程池ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。
asd23rsa
·
2021-01-30 14:47
java
多线程
springboot异步线程池
并实现线程监控
J.U.C
——线程池专题
【置顶】如果有什么错误或者建议,欢迎留言指出本文内容是对各个知识点的转载整理,用于个人技术沉淀,以及大家学习交流用主要讨论以下问题:认识Java线程池线程池的种类,区别,和使用场景线程池的工作流程线程池几个参数的理解分析线程池的实现原理线程池中工作线程的调度过程。线程池如何调优,线程池的最大线程数目根据什么确定什么是线程池java.util.cuncurrent.Executors提供了一个jav
_Zy
·
2021-01-29 17:04
Java并发编程与高并发解决方案
课程导学本课程主要是围绕并发编程和高并发解决方案两个核心来进行讲解;希望这门课程能够带领大家攻克并发编程与高并发的难题;课程特点:大量的图示及代码演示;全面覆盖并发知识点,建立完整的知识体系,主要有:线程安全、线程封闭、线程调度、同步容器、并发容器、AQS、
J.U.C
暗余
·
2021-01-28 23:11
#
java
精华
#
java
学习汇总
并发编程
并发编程
高并发
并发面试
并发
Java并发
前言:基础知识
一、分布式锁的特点:1、互斥性:同一时刻只能有一个线程持有锁2、可重入性:同一节点上的同一个线程如果获取了锁之后能够再次获取锁3、锁超时:和
J.U.C
中的锁一样支持锁超时,防止死锁,网络中断或宕机无法释放锁时
欧阳的博客
·
2021-01-27 13:10
并发编程(十)
J.U.C
之 LinkedBlockingQueue 、ConcurrentLinkedQueue 、CopyOnWriteArrayList
文章目录1.LinkedBlockingQueue原理1.1基本入队出队入队出队1.2加锁分析put操作take操作1.3与ArrayBlockingQueue的性能比较2.ConcurrentLinkedQueue原理3.CopyOnWriteArrayListget弱一致性迭代器弱一致性1.LinkedBlockingQueue原理publicclassLinkedBlockingQueuee
LeslieGuGu
·
2021-01-23 18:10
Java并发编程
并发编程
多线程
java
并发编程(九)
J.U.C
之 ConcurrentHashMap原理
文章目录1.线程安全集合类概述1.1线程安全集合类可以分为三大类1.2重点2.ConcurrentHashMap2.1JDK7HashMap并发死链死链复现源码分析2.2JDK8ConcurrentHashMap重要方法重要属性和内部类构造器分析get流程put流程putVal()方法initTable()方法addCount()方法size()方法计算流程transfer()方法2.3JDK7C
LeslieGuGu
·
2021-01-23 16:04
Java并发编程
并发编程
java
多线程
Java中
J.U.C
扩展组件之ForkJoinTask和ForkJoinPool
Fork/Join框架中两个核心类ForkJoinTask与ForkJoinPool,声明ForkJoinTask后,将其加入ForkJoinPool中,并返回一个Future对象。ForkJoinPool:ForkJoinTask需要通过ForkJoinPool来执行,任务分割的子任务会添加到当前工作维护的双端队列中,进入队列的头部。当一个工作线程的队列里暂时没有任务时,它会随机从其它工作线程的
入门小站
·
2021-01-20 23:49
java
多线程
Java中
J.U.C
扩展组件之ForkJoinTask和ForkJoinPool
Fork/Join框架中两个核心类ForkJoinTask与ForkJoinPool,声明ForkJoinTask后,将其加入ForkJoinPool中,并返回一个Future对象。ForkJoinPool:ForkJoinTask需要通过ForkJoinPool来执行,任务分割的子任务会添加到当前工作维护的双端队列中,进入队列的头部。当一个工作线程的队列里暂时没有任务时,它会随机从其它工作线程的
入门小站
·
2021-01-20 23:34
java
多线程
Java中
J.U.C
扩展组件之Fork,join
Fork/join介绍Fork/join框架是java7提供的并行执行任务的框架,是把大任务分割成若干小任务,最后汇总若干小任务的执行结果得到最终的结果。它的思想与MapReduce类似。Fork把一个大任务分割成若干小任务,Join用于合并小任务的结果,最后得到大框架的结果。主要采取工作窃取算法。工作窃取(work-stealing)算法是指某个线程从其它队列窃取任务执行。假如我们需要做一个比较
入门小站
·
2021-01-20 00:43
java
多线程
Java中
J.U.C
扩展组件之Fork,join
Fork/join介绍Fork/join框架是java7提供的并行执行任务的框架,是把大任务分割成若干小任务,最后汇总若干小任务的执行结果得到最终的结果。它的思想与MapReduce类似。Fork把一个大任务分割成若干小任务,Join用于合并小任务的结果,最后得到大框架的结果。主要采取工作窃取算法。工作窃取(work-stealing)算法是指某个线程从其它队列窃取任务执行。假如我们需要做一个比较
入门小站
·
2021-01-20 00:02
java
多线程
Java并发
J.U.C
之 AQS
J.U.C
之AQSAbStractQueuedSynchronizer类,简称AQS,是一个来构建锁和同步器的框架,JDK1.5开始引入了
J.U.C
,大大提高了JAVA程序的并发性,而AQS则是
J.U.C
入门小站
·
2021-01-11 23:41
java
多线程
Java并发容器
J.U.C
J.U.C
是java.util.concurrent的简写,里面提供了很多线程安全的集合。
入门小站
·
2021-01-11 23:57
java
多线程
Java并发
J.U.C
之 AQS
J.U.C
之AQSAbStractQueuedSynchronizer类,简称AQS,是一个来构建锁和同步器的框架,JDK1.5开始引入了
J.U.C
,大大提高了JAVA程序的并发性,而AQS则是
J.U.C
入门小站
·
2021-01-11 22:16
java
多线程
J.U.C
之Unsafe
J.U.C
之UnsafeUnsafe概述Unsafe类是在sun.misc包下,不属于Java标准。
贪睡的企鹅
·
2021-01-11 14:12
Java并发容器
J.U.C
J.U.C
是java.util.concurrent的简写,里面提供了很多线程安全的集合。
入门小站
·
2021-01-11 00:54
java
多线程
JDK1.8中的ConcurrentHashMap使用及场景分析
ConcurrentHashMap的初步使用及场景:ConcurrentHashMap是
J.U.C
包里面提供的一个线程安全并且高效的HashMap,所以ConcurrentHashMap在并发编程的场景中使用的频率比较高
·
2021-01-05 15:13
理解
J.U.C
中的ReentrantLock
J.U.C
=java.util.concurrent就是这个东西来自哪里?出现的理由在Lock接口出现之前,java中的应用程序对于多线程的并发安全处理只能基于synchronized关键字来解决。
好一个迷途小书童
·
2021-01-03 16:16
并发编程
juc
多线程
ReentrantLock
Java多线程进阶(十一)——
J.U.C
之locks框架:StampedLock
本文首发于一世流云的专栏:https://segmentfault.com/blog...一、StampedLock类简介StampedLock类,在JDK1.8时引入,是对读写锁ReentrantReadWriteLock的增强,该类提供了一些功能,优化了读锁、写锁的访问,同时使读写锁之间可以互相转换,更细粒度控制并发。首先明确下,该类的设计初衷是作为一个内部工具类,用于辅助开发其它线程安全组件
Ressmix
·
2020-12-17 17:04
java
多线程
J.U.C
并发包诞生的那些事儿
前言
J.U.C
是java包java.util.concurrent的简写,中文简称并发包,是jdk1.5新增用来编写并发相关的基础api。
kl博主
·
2020-11-20 21:54
c++
java
Doug Lea在
J.U.C
包里面写的BUG又被网友发现了
这是why的第69篇原创文章BUG描述一个编号为8073704的JDKBUG,将串联起我的这篇文章。也就是下面的这个链接。https://bugs.openjdk.java.net/browse/JDK-8073704这个BUG在JDK9版本中进行了修复。也就是说,如果你用的JDK8,也许会遇到这样的问题。先带大家看看这个问题是怎么样的:这个BUG说:FutureTask.isDone方法在任务还
why技术
·
2020-11-16 13:55
后端
java
bug
Java多线程进阶(二二)——
J.U.C
之synchronizer框架:Phaser
本文首发于一世流云专栏:https://segmentfault.com/blog...一、Phaser简介Phaser是JDK1.7开始引入的一个同步工具类,适用于一些需要分阶段的任务的处理。它的功能与CyclicBarrier和CountDownLatch有些类似,类似于一个多阶段的栅栏,并且功能更强大,我们来比较下这三者的功能:同步器作用CountDownLatch倒数计数器,初始时设定计数
Ressmix
·
2020-11-15 09:28
java
多线程
Java多线程进阶(十九)——
J.U.C
之synchronizer框架:CyclicBarrier
本文首发于一世流云专栏:https://segmentfault.com/blog...一、CyclicBarrier简介CyclicBarrier是一个辅助同步器类,在JDK1.5时随着
J.U.C
一起引入
Ressmix
·
2020-11-15 09:58
java
多线程
Doug Lea在
J.U.C
包里面写的BUG又被网友发现了
这是why的第69篇原创文章BUG描述一个编号为8073704的JDKBUG,将串联起我的这篇文章。也就是下面的这个链接。https://bugs.openjdk.java.net/browse/JDK-8073704这个BUG在JDK9版本中进行了修复。也就是说,如果你用的JDK8,也许会遇到这样的问题。先带大家看看这个问题是怎么样的:这个BUG说:FutureTask.isDone方法在任务还
why技术
·
2020-10-10 12:00
Java并发之AQS详解
AQS全名:AbstractQueuedSynchronizer,是并发容器
J.U.C
(java.lang.concurrent)下locks包内的一个类。
mocas_wang
·
2020-09-22 19:58
并发多线程
J.U.C
之Executor框架入门指引
1、Executor接口Thisinterfaceprovidesawayofdecouplingtasksubmissionfromthemechanicsofhoweachtaskwillberun,includingdetailsofthreaduse,scheduling,etc.An{@codeExecutor}isnormallyusedinsteadofexplicitlycreat
这是个坑
·
2020-09-21 23:00
上一页
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
其他