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
java并发编程aqs
Java并发之原子变量及CAS算法-上篇
Java并发之原子变量及CAS算法-上篇概述本文主要讲在
Java并发编程
的时候,如果保证变量的原子性,在JDK提供的类中式怎么保证变量原子性的呢?。
凯哥Java
·
2023-11-24 01:42
java并发编程
(二)之线程池
文章目录一摘要二线程池的好处三线程池解决的问题四ThreadPoolExecutor总体设计五ThreadPoolExecutor核心参数5.1corePoolSize5.2maximumPoolSize5.3keepAliveTime5.4unit5.5workQueue5.6threadFactory5.7handler六ThreadPoolExecutor参数设置6.1corePoolSiz
l昨日青天
·
2023-11-24 00:40
并发编程
java
线程池
并发编程
面试官:来!聊聊线程池的实现原理以及使用时的问题
扫描下方二维码或者微信搜索公众号菜鸟飞呀飞,即可关注微信公众号,阅读更多Spring源码分析和
Java并发编程
文章。
天堂2013
·
2023-11-24 00:38
多线程
Java
线程池
并发
Java并发编程
学习——线程池
此文章大部分内容出自《
Java并发编程
的艺术》第九章Java中
Mr..Li
·
2023-11-24 00:05
Java
Java
线程池
并发编程之JMM&volatile详解
系列文章目录
Java并发编程
技术知识点梳理(第一篇)操作系统底层工作的整体认识
Java并发编程
技术知识点梳理(第二篇)并发编程之JMM&volatile详解
Java并发编程
技术知识点梳理(第三篇)CPU
yemuxiaweiliang
·
2023-11-23 19:33
并发编程
java
后端
Java并发编程
(07):Fork/Join框架机制详解
1、编码案例基于1+2..+100的计算案例演示Fork/Join框架基础用法。importjava.util.concurrent.ForkJoinPool;importjava.util.concurrent.ForkJoinTask;importjava.util.concurrent.RecursiveTask;publicclassForkJoin01{publicstaticvoidm
联旺
·
2023-11-23 13:42
《Java 并发编程》共享模型之无锁
《
Java并发编程
》专栏索引《
Java并发编程
》进程与线程《
Java并发编程
》共享模型之管程《
Java并发编程
》共享模型之内存《
Java并发编程
》共享模型之无锁《
Java并发编程
》共享模型之不可变《
Java
ReadThroughLife
·
2023-11-23 10:52
Java
#
Java
并发编程
Java
Java
并发编程
《Java 并发编程》共享模型之管程
《
Java并发编程
》专栏索引《
Java并发编程
》进程与线程《
Java并发编程
》共享模型之管程《
Java并发编程
》共享模型之内存《
Java并发编程
》共享模型之无锁《
Java并发编程
》共享模型之不可变《
Java
ReadThroughLife
·
2023-11-23 10:51
Java
#
Java
并发编程
Java
并发编程
Java
并发编程
《Java 并发编程》共享模型之不可变
《
Java并发编程
》专栏索引《
Java并发编程
》进程与线程《
Java并发编程
》共享模型之管程《
Java并发编程
》共享模型之内存《
Java并发编程
》共享模型之无锁《
Java并发编程
》共享模型之不可变《
Java
ReadThroughLife
·
2023-11-23 10:21
#
Java
并发编程
Java
Java
并发编程
Java
不可变
Java并发编程
-共享模型之管程(Monitor/Synchronized)(四)
共享问题java中对全局变量的操作是通过JMM(java内存模型)内存模型实现的,全局变量保存在主存中,但是变量的计算则是在线程的工作内存中。如果对变量的操作不是原子操作(比如i++是由多条指令的操作集合)那么就会带来线程安全问题。比如下面的i++和i++操作,结果可能就不是0。staticintcount=0;@TestpublicvoidtestJMM()throwsInterruptedEx
融极
·
2023-11-23 10:49
并发编程
java
java并发编程
(3) 共享模型之管程 1
文章目录前言1.java的内存模型1.并发编程的两个问题2.Java内存模型的抽象结构2.问题分析3.临界区和竞态条件1临界区CriticalSection2竞态条件4.解决方法1.synchronized2.使用方法3.理解4.使用面向对象改造代码5.synchronized加在方法上6.线程8锁1.先一后二或者先二后一2.1秒后12,或者2然后1秒后再13.加多一个普通方法4.锁的是不同对象5
JWASX
·
2023-11-23 10:17
多线程
java
开发语言
后端
JUC之AbstractQueuedSynchronizer基本介绍
关键词:
AQS
抽象类AbstractQueuedSynchronizer提供了线程同步的模板方法,其实现了等待队列、入队休眠和唤醒机制等大部分逻辑实现。
www.Rui
·
2023-11-23 08:49
博客
juc
多线程
线程安全
并发编程
关于
AQS
介绍
关于
AQS
介绍AbstractQueuedSynchronizer内部数据结构在AbstractQueuedSynchronizer内部,有一个队列,我们把它叫做同步等待队列。
Antarcticc
·
2023-11-23 08:18
java
开发语言
后端
java并发包aqu_深入java并发包源码(二)
AQS
的介绍与使用
AQS
本文章会讲解
AQS
的使用方法,然后通过DEBUG跟踪
AQS
执行的一系列操作来分析源码,读者跟着文章DEBUG跟踪源码能更容易理解。
AQS
是什么?
Emmamkq~~
·
2023-11-23 08:47
java并发包aqu
【
Java并发编程
】
AQS
(5)——ConditionObject
这篇文章是
AQS
系列的最后一篇文章,也是非常重要的一篇,因为这篇文章将引入并发编程中非常重要的一个概念:条件变量。
24只羊羊羊
·
2023-11-23 08:42
并发编程
源码解读
AQS
源码分析二
上一篇讲解了从ReentrantLock公平锁源码了解
AQS
主要实现原理本文关注以下几点内容①深入理解ReentrantLock公平与非公平锁区别②深入分析
AQS
的内部类ConditionObject③
黑洞刺客
·
2023-11-23 08:38
并发编程
AQS
Condition
AQS
(AbstractQueuedSynchronizer)源码解析(ConditionObject)
阅读须知JDK版本:1.8文章中使用/**/注释的方法会做深入分析正文我们之前分析了
AQS
独占锁和共享锁的源码实现,接下来我们来分析
AQS
的ConditionObject,我们常用的ReentrantLock
0xZzzz
·
2023-11-23 08:08
jdk
多线程
jdk
源码
AQS
Condition
await
ConditionObject介绍(二)
1.Condition的signal方法分析分为了几个部分:●确保执行signal方法的是持有锁的线程●脱离Condition的队列●将Node状态从-2改为0●将Node添加到
AQS
队列●为了避免当前
狠情
·
2023-11-23 08:30
java
jvm
算法
AQS
和ReentrantLock还能这样理解?
1.公平锁和非公平锁1.1含义公平锁:在竞争环境下,先到临界区的线程比后到的线程一定更快地获取得到锁。非公平锁:先到临界区的线程未必比后到的线程更快地获取得到锁。1.2如何自我实现公平锁实现:可以把竞争的线程放在一个先进先出的队列上。只要持有锁的线程执行完了,唤醒队列的下一个线程去获取锁就好了。非公平锁实现:后到的线程可能比前到临界区的线程获取得到锁。那实现也很简单,线程先尝试能不能获取得到锁,如
伴川
·
2023-11-22 21:07
java
jvm
开发语言
spring
前端
后端
架构
一行一行源码分析清楚 AbstractQueuedSynchronizer (三)
【转载原文】javadoop这篇文章是
AQS
系列的最后一篇,第一篇,我们通过ReentrantLock公平锁分析了
AQS
的核心,第二篇的重点是把Condition说明白,同时也说清楚了对于线程中断的使用
懒癌正患者
·
2023-11-22 20:05
全网最细节的sds讲解,干货整理
梳理知识后,夯实基础乃是刚需:深入进阶学习(28个主流Java知识点“一网打尽”)1、并发编程
Java并发编程
是整个Java开发体系中最难以理解,但也是最重要的知识点之一,一旦掌握你一定在市场上供不应求
Java开发分布式
·
2023-11-22 19:26
程序员
面试
java
后端
java并发-Semaphore
当下
Java并发编程
日益普及,而Semaphore是Java提供的一种功能强大的线程同步工具,可用于控制同时访问系统资源的线程数量。
曲终--人散
·
2023-11-22 16:47
java并发体系
java
java并发
java并发-Exchanger
##底层实现Exchanger的底层实现基于
AQS
(AbstractQueuedSynchronizer)同步器,并使用了类似于管道的
曲终--人散
·
2023-11-22 16:47
java并发体系
java
java并发
并发编程常见面试题(超详细)
的区别如何停止一个正在运行的线程synchronized关键字底层原理Monitor属于重量级锁,了解过锁升级吗JMMJava内存模型CAS(CompareAndSwap)自旋锁乐观锁和悲观锁的区别volatile关键字
AQS
屈家全
·
2023-11-22 10:57
Java基础
java
面试
深入理解Java
AQS
:从原理到源码分析
目录
AQS
的设计原理1、队列节点Node和FIFO队列结构2、state的作用3、公平锁与非公平锁
AQS
源码解析1、Node节点2、acquire(int)3、release(int)4、自旋(Spin
一个搬砖的农民工
·
2023-11-22 08:22
Java
java
开发语言
AQS
Java优质资源汇总(持续更新)
文章目录JavaJVM并发MySQL优化大数据Java美团后台标签文章美团java标签文章JVMJavaHotspotG1GC的一些关键技术美团JVM标签文章并发从ReentrantLock的实现看
AQS
tcoding
·
2023-11-22 08:43
java
六、Lock的Condition(等待队列)接口
转:《
Java并发编程
的艺术》Condition接口也提供了类似Object的监视器方法,与Lock配合也可以等待/通知模式,但是这两者在使用方式以及功能特性上还是右差别的。
沉沦2014
·
2023-11-21 16:46
java thread源码分析_Thread源码剖析
前言昨天已经写了:如果没看的同学建议先去阅读一遍哦~在写文章之前通读了一遍《Java核心技术卷一》的并发章节和《
Java并发编程
实战》前面的部分,回顾了一下以前写过的笔记。
吃瓜的小翻译
·
2023-11-21 09:31
java
thread源码分析
AQS
之 互斥锁 源码剖析
AQS
之互斥锁源码剖析
AQS
是AbstractQueuedSynchronizer类的简称,
AQS
是一个用来构建锁和同步器的基础框架,想要了解Java的锁实现及其底层原理就必须先了解
AQS
完成了什么,提供了哪些功能
wpml_java
·
2023-11-21 09:56
【JAVA】JUC
之
AQS
与
锁实现篇
java
spring
boot
程序人生
学习方法
AQS
之 共享锁 源码剖析
AQS
之共享锁源码剖析上一篇我们详细讲解了互斥锁的源码实现,也即同一时刻只有一个线程获得锁,其它参与竞争的线程必须等待。
wpml_java
·
2023-11-21 09:26
【JAVA】JUC
之
AQS
与
锁实现篇
java
jvm
后端
CountDownLatch源码剖析
目录
AQS
中共享锁的实现
AQS
中共享锁相关的方法CountDownLatch原理浅析CountDownLatch源码剖析在并发多线程之
AQS
源码分析(上)和并发多线程之
AQS
源码分析(下)中分析了
AQS
bingaPang
·
2023-11-21 09:25
java
并发
并发编程
juc
锁
源码
自定义实现CAS自旋锁
自定义实现CAS自旋锁本篇文章利用原子引用类自定义实现的自旋锁new一个原子引用类,对象类型为ThreadAtomicReferenceatomicReference=newAtomicReference{
aqs
Test.MyCASLock
夜尽天明xyz
·
2023-11-21 04:41
java
多线程
并发编程
Day129.JUC:CAS 自旋锁、
AQS
、ReentrantLock底层实现、回顾Stream
目录CAS自旋锁AtomicInteger
AQS
Lock底层ReentrantLock底层原理彩蛋,回顾Stream流CAS自旋锁AtomicIntegerCAS:CompareandSwap比较并交换的
焰火青年·
·
2023-11-21 04:40
Java
java
开发语言
java longadder_
Java并发编程
笔记之LongAdder和LongAccumulator源码探究
一.LongAdder原理LongAdder类是JDK1.8新增的一个原子性操作类。AtomicLong通过CAS算法提供了非阻塞的原子性操作,相比受用阻塞算法的同步器来说性能已经很好了,但是JDK开发组并不满足于此,因为非常搞并发的请求下AtomicLong的性能是不能让人接受的。如下AtomicLong的incrementAndGet的代码,虽然AtomicLong使用CAS算法,但是CAS失
懂得越多越要学
·
2023-11-21 03:29
java
longadder
【
Java并发编程
九】同步控制
ReentrantLock(重入锁)ReentrantLock的基本使用 ReentrantLock可以自己决定加锁的位置和解锁的位置。packagemyTest;importjava.util.ArrayList;importjava.util.concurrent.locks.ReentrantLock;publicclassmyTestimplementsRunnable{//重入锁publ
P.H. Infinity
·
2023-11-21 01:17
java
python
开发语言
Python (十三) 输出
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发编程
实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-11-20 22:40
#
基础
python
开发语言
JAVA并发编程
——synchronized关键字
引言Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。synchronized关键字在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案,看起来是“万能”的。的确,大部分并发控制操作都能使用synchronized来完成。海明威在他的《午后之死》说
别活在过去i
·
2023-11-20 22:38
JAVA并发编程的艺术
java
jvm
开发语言
【
Java并发编程
八】synchronized原理
synchronized的基本使用 可以在代码中加入synchronized代码块,也可以在方法的返回值前面加上synchronized声明。一把锁只能同时被一个线程获取,没有获得锁的线程只能等待。每个实例都对应有自己的一把锁,不同实例之间互不影响。synchronized修饰的方法,无论方法正常执行完毕还是抛出异常,都会释放锁。importjava.util.ArrayList;publiccl
P.H. Infinity
·
2023-11-20 22:34
java
开发语言
算法
CAS解析
CAS-1源码解析CAS操作在JUC中大量用到,在解析
AQS
那章中,我们也有提到。再回头看一下
AQS
pipi蛋
·
2023-11-20 08:47
Semaphore基本使用及原理
基本使用及原理1什么是Semaphore2基本使用3源码分析3.1构造方法3.2获取许可3.2.1`tryAcquire`方法3.2.2`acquire`方法3.3释放许可4总结在前面的文章中我们学习了
AQS
Bug搬运小能手
·
2023-11-20 03:50
并发
java
java semaphore lock_
Java并发编程
:Semaphore和Lock区别
Java提供了一个类Semaphore来实现信号量,概念上讲,一个信号量相当于持有一些许可(permits),线程可以调用Semaphore对象的acquire()方法获取一个许可,调用release()来归还一个许可1构造方法:Semaphore有两个构造方法Semaphore(int)、Semaphore(int,boolean),参数中的int表示该信号量拥有的许可数量,boolean表示获
巫-挖泥巴
·
2023-11-20 03:49
java
semaphore
lock
Java并发编程
之Semaphore
简介Semaphore是计数信号量,管理一系列许可证。线程通过acquire方法获取许可证,成功则许可证总数减一并执行任务,反之阻塞等待;线程通过release方法释放许可证,许可证总数加一。公平与非公平模式//默认非公平模式publicSemaphore(intpermits){sync=newNonfairSync(permits);}//可设置公平或非公平publicSemaphore(in
yzm4399
·
2023-11-20 03:18
多线程
并发编程
多线程
并发编程
【
Java并发编程
七】Java内存模型
JMM内存模型 JVM定义了Java内存模型(JavaMemoryModel,JMM),用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。JMM调用栈和本地变量存放在线程栈上,对象存放在堆上。
P.H. Infinity
·
2023-11-19 23:33
java
开发语言
【
Java并发编程
五】线程的基本使用三
线程的管理 我们使用ThreadGroup对线程进行管理,ThreadGroup具有三个参数,ThreadGroup、Runnable、String:publicThread(ThreadGroupgroup,Runnabletarget,Stringname) 例子:packagemyTest;publicclassmyTestimplementsRunnable{publicstaticvoi
P.H. Infinity
·
2023-11-19 21:14
java
开发语言
【
Java并发编程
三】线程的基本使用一
基本使用一 将类继承Runnable,创建Thread,然后调用Thread的start方法启动:packagemyTest;publicclassmyTestimplementsRunnable{publicstaticvoidmain(String[]args)throwsInterruptedException{myTesttest=newmyTest();Threadthread=newT
P.H. Infinity
·
2023-11-19 21:44
java
开发语言
【
Java并发编程
四】线程的基本使用二
线程的join(等待线程结束)和yield(谦让线程) Thread的join()方法,会阻塞占用Thread线程的其他线程,直到Thread执行完毕,才会释放相应对象。publicclassmyTestimplementsRunnable{publicstaticinti;publicstaticvoidmain(String[]args)throwsInterruptedException{m
P.H. Infinity
·
2023-11-19 21:44
java
开发语言
jvm
【
Java并发编程
六】多线程越界问题
ArrayList()越界错误importjava.util.ArrayList;publicclassmyTestimplementsRunnable{staticArrayLista=newArrayLista=newArrayList<>(10);publicstaticvoidmain(String[]args)throwsInterruptedException{Threadt1=new
P.H. Infinity
·
2023-11-19 21:34
java
jvm
开发语言
使用Java5年后,我发现Java架构师必看这三本书!少走一半弯路
《
Java并发编程
的艺术》并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java
alcohol和cat
·
2023-11-19 13:50
【
Java并发编程
一】并发与并行
为什么引入并发 摩尔定理逐渐失效,单核性能很难提升,通过组合多核性能来进一步满足实际需要,从而引入并发编程。在大部分场景下,并行是由于串行的,并行可以优化非关键节点的时间消耗。并发的三大特性原子性 某个操作不可被中断,不可被分割。可见性 对于一些变量的修改,需要告知其他线程。有序性 由于编译器的设计者为了提高程序的效率,由此引入了指令重排。对于值的读取与修改需要多个步骤,对指令进行重排可以提高效率
P.H. Infinity
·
2023-11-19 10:54
java
开发语言
jvm
java并发编程
之基础与原理2
cpu缓存结构剖析下面说一下概念与作用CPU缓存即高速缓冲存储器,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,减少CPU的等待时间,提高了系统的效率。计算机在程序执行过程中有两种局部性原理:1.时间局部性
杨·戬
·
2023-11-19 10:32
并发编程
java
开发语言
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他