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并发编程JUC
java高并发系列 - 第13天:
JUC
中的Condition对象
java高并发系列-第13天:
JUC
中的Condition对象java高并发系列第13篇文章本文内容synchronized中实现线程等待和唤醒Condition简介及常用方法介绍及相关示例使用Condition
懒羊羊--搞点小技术
·
2023-08-21 22:00
线程
java
python
开发语言
java高并发系列 - 第12天
JUC
:ReentrantLock重入锁
java高并发系列-第12天
JUC
:ReentrantLock重入锁java高并发系列第12篇文章synchronized的局限性synchronized是java内置的关键字,它提供了一种独占的加锁方式
懒羊羊--搞点小技术
·
2023-08-21 22:29
线程
java
python
开发语言
【
JUC
系列-01】深入理解JMM内存模型的底层实现原理
深入理解JMM内存模型的底层实现原理一,深入理解JMM内存模型1,什么是可见性2,什么是JMM3,引入volatile4,cpu缓存架构5,嗅探机制6,解决缓存一致性的MESI7,JMM内存可见性的保证8,内存屏障9,为何多线程的累加值总是小于期待值一,深入理解JMM内存模型1,什么是可见性在谈jmm的内存模型之前,先了解一下并发并发编程的三大特性,分别是:可见性,原子性,有序性。可见性指的就是当
huisheng_qaq
·
2023-08-21 14:20
JUC系列
java
JUC
内存屏障
JMM
volatile
LoadStore
并发编程
Scala并发编程实战 - 2:Lock 锁
所以
JUC
提供了另一种更灵活的加锁方式,即Lock。
Liam666
·
2023-08-21 12:42
Java并发(四)——
JUC
包下的并发集合类
接下来,将展开对
JUC
包中的集合进行学习。在学习之前,先温习一下”Java集合包”Java集合包介绍java集合的架构。
社会你鑫哥
·
2023-08-21 08:50
java多线程
java多线程
Java并发编程
之线程池详解
目录今日良言:不悲伤不彷徨有风听风有雨看雨一、简介二、相关代码1.线程池代码2.自定义实现线程池三、ThreadPoolExecutor类今日良言:不悲伤不彷徨有风听风有雨看雨一、简介首先来介绍一下什么是线程池,线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务并将线程的创建和任务的执行解耦开来。我们可以创建线程池来复用已经创建的线程来降低频繁创建和销毁线程
程序猿小马
·
2023-08-21 00:40
java
开发语言
09_Redlock算法和底层源码分析
Redlock算法和底层源码分析一、当前代码为8.0版接上一步自研分布式锁的重点:按照
juc
里面Lock接口规范进行编写lock加锁关键逻辑加锁:在redis中,加锁实际上是给key设置一个值,为避免死锁
coder_xiaoyou
·
2023-08-20 13:42
redis
redis
java并发与多线程(三):什么是锁
计算机的锁分类有很多种,本书并不打算详细介绍每种锁,而是通过对java.util.concurrent(
JUC
)包中的基础类的解析来说明锁的本质和特性。Java中常用锁实现的方式有两种。
姜小姜小
·
2023-08-19 20:15
【
Java并发编程
面试题(60道)】
toc
Java并发编程
面试题(60道)基础1.并行跟并发有什么区别?从操作系统的角度来看,线程是CPU分配的最小单位。并行就是同一时刻,两个线程都在执行。这就要求有两个CPU去分别执行两个线程。
唯时
·
2023-08-19 15:33
面试八股文积累
Java基础
java
面试
经验分享
2019年度总结
3.阅读《
Java并发编程
的艺术》《实战Java高并发程序设计》将零散的多线程知识点串在了一起4.花
半岛铁板
·
2023-08-19 13:26
随笔情感
2019年度总结
【Java】
JUC
并发编程-Lock锁
目录一、概述二、Lock和Synchronized的区别三、Lock锁的API四、ReentrantLock(重入锁)、ReentrantReadWriteLock(读写锁)1、ReentrantLock(重入锁)2、ReentrantReadWriteLock(读写锁)五、Lock锁的API代码实现1、lock()、unLock()2、lockInterruptibly()3、tryLock()
爱吃芋圆的兔子
·
2023-08-19 12:33
Java
java
开发语言
JUC
闭锁与AQS技术在启动架构设计中的应用
什么是
JUC
闭锁?
Android技术栈
·
2023-08-19 12:10
Android
开发
android
Android开发
程序员
移动开发
Android性能优化
juc
aqs
JUC
E框架教程(1)——Pro
juc
er入门
**
JUC
E框架教程(1)——Pro
juc
er入门**前言(什么是
JUC
E):
JUC
E(Jules’UtilityClassExtensions)是由RawMaterialSoftware发布的一套基于
正宗咸豆花
·
2023-08-19 10:22
JUCE教程
c++
编程语言
个人开发
JUC
学习笔记(一)
1.
JUC
概述及回顾1.1.
JUC
是什么?在Java5.0提供了java.util.concurrent(简称
JUC
)包,在此包中增加了在并发编程中很常用的工具类。
卷心菜不卷Iris
·
2023-08-19 07:11
JUC
JUC
Java并发编程
高并发编程
多线程
多进程
多线程与
JUC
多线程与
JUC
线程的创建创建线程使用thread(不推荐)@Slf4j(topic="c.t")publicclassDemo2{publicstaticvoidmain(String[]args){Threadthread
Corgy.
·
2023-08-19 06:23
java
java
多线程
面试准备
1.HashMap&&CurrentHashMap源码分析HashMap源码解析
java并发编程
之ConcurrentHashMap2.常用开源框架中设计模式使用分析常用开源框架中设计模式使用分析23种设计模式
深度思考中
·
2023-08-18 23:44
Java面试必问之线程池的创建使用、线程池的核心参数、线程池的底层工作原理
一、前言大家在面试过程中,必不可少的问题是线程池,小编也是在面试中被问啥傻了,
JUC
就了解的不多。加上做系统时,很少遇到,自己也是一知半解,最近看了尚硅谷阳哥的课,恍然大悟,特写此文章记录一下!
掉发的小王
·
2023-08-18 21:52
Java
面试
java
线程池
AQS源码分析
AbstractQueueSynchronizer简称AQS(抽象的队列同步器),是重量级基础框架以及
JUC
体系的基石,主要用于解决锁分配给谁的问题。
linsy`
·
2023-08-18 06:35
java
spring
分布式
AQS
AQS的扩展什么是AQS名词解释:
JUC
下一个名为AbstractQueuedSynchronizer的类(java.util.concurrent.locks.AbstractQueuedSynchronizer
我叫王小事儿
·
2023-08-18 04:18
【
JUC
】ThreadPoolExecutor线程池控制状态ctl
主池控制状态ctl是一个原子整数,包含两个概念字段–workerCount:指示线程的有效数量。runState:指示是否运行,关闭等。即高位中前3位记录runState,后29位记录workerCount。为了将它们打包成一个int,将workerCount限制为(2^29)-1(约5亿)线程,而不是(2^31)-1(20亿)。如果将来出现这个问题,可以将变量更改为AtomicLong,并调整下
科学熊
·
2023-08-17 13:38
java
java
算法
开发语言
【
JUC
】线程池ThreadPoolTaskExecutor与面试题解读
1、ThreadPoolTaskExecutor创建线程池从它的创建和使用说起,创建和使用的代码如下:创建:ThreadPoolTaskExecutorexecutor=newThreadPoolTaskExecutor();executor.setCorePoolSize(corePoolSize);executor.setMaxPoolSize(maxPoolSize);executor.se
科学熊
·
2023-08-17 10:38
java
java
JUC
并发集合
目录传统类集框架的弊端1.并发集合的类型2.并发单值集合3.并发多值集合4.跳表集合传统类集框架的弊端传统的类集框架存在一个非常严重的弊端。那就是在多线程的情况下对集合修改会报错。如下代码packageExample2123;importjava.util.ArrayList;importjava.util.List;publicclassjavaDemo{publicstaticvoidmain
Alphamilk
·
2023-08-17 10:08
Java
java
JUC
~~ ReentrantLock 详解
1介绍重入锁ReentrantLock,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。除此之外,该锁的还支持获取锁时的公平和非公平性选择。1.1重入锁的原理每一个锁关联一个线程持有者和计数器,当计数器为0时表示该锁没有被任何线程持有,那么任何线程都可能获得该锁而调用相应的方法;当某一线程请求成功后,JVM会记下锁的持有线程,并且将计数器置为1;此时其它线程请求该锁,则必
修 己
·
2023-08-17 09:29
Java多线程
面试
多线程
java
并发编程
面试
高并发编程系列:并发容器的原理,7大并发容器详解、及使用场景
并发容器的由来在
Java并发编程
中,经常听到Java集合类,同步容器、并发容器,那么他们有哪些具体分类,以及各自之间的区别和优劣呢?
晴栀吖
·
2023-08-17 06:03
Java并发编程
:深入剖析ThreadLocal
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。以下是本文目录大纲:一.对ThreadLocal的理解二.深入解析ThreadLocal类三.ThreadLocal的应用场景若有不正之处
03ca2835cf70
·
2023-08-17 02:32
js判断是微信端还是企业微信端
navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|
JUC
Paul_Chan_
·
2023-08-16 11:20
js
微信公众号
javascript
微信
企业微信
Java并发编程
(七)实践[生产者-消费者]
生产者-消费者概述生产者消费者问题,也称有限缓冲问题,是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两个线程在多线程开发中,如果生产者(生产数据的线程)处理速度很快,而消费者(消费数据的线程)处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这种生产消费能力不均衡的问题,便有了生产者和消费者模式具
奉先节度使
·
2023-08-16 04:57
#
Java
java
Java并发编程
(五)线程同步 下 [CAS/原子类/同步容器类/同步工具类]
CAS概述CAS全称为Compare-And-Swap。它是一条CPU的原子指令,是硬件对于并发操作共享数据的支持。其作用是CPU在某个时刻比较两个值是否相等核心原理:在操作期间CAS先比较下主存中的值和线程中工作内存中的值是否相等,如果相等才会将主存中的值更新为新值,不相等则不交换(如果不相等则会一直通过自旋方式尝试更新值)CAS指令存在如下问题:ABA问题:两个时刻比较值都会存在ABA问题,原
奉先节度使
·
2023-08-16 04:27
#
Java
java
Java并发编程
(六)线程池[Executor体系]
概述在处理大量任务时,重复利用线程可以提高程序执行效率,因此线程池应运而生。它是一种重用线程的机制,可以有效降低内存资源消耗提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行线程池可以帮助我们更好地管理线程的生命周期和资源使用,避免线程频繁地创建和销毁带来的性能问题同时,线程池还可以提供一些额外的功能,例如线程池的大小控制、线程池的任务队列、线程池的拒绝策略等。线程池中通常维护一
奉先节度使
·
2023-08-16 04:26
#
Java
java
转载】
Java并发编程
系列04 | Java内存模型详解
文章见:【原创】
Java并发编程
系列03|重排序-可见性和有序性问题根源那么,作为从最开始就支持并发的语言,Java是如何解决这些核心问题的呢?
大锤强无敌
·
2023-08-16 03:38
JAVA多线程—Executor
这里借用《
Java并发编程
的艺术》提到的来说一下使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。
Zak1
·
2023-08-16 01:18
java并发编程
(一)缓存一致性协议
多线程环境下存在的问题缓存一致性问题,指令重拍问题,可见性,有序性,缓存一致性问题在多处理器系统中,每个处理器都有自己的高速缓存,而它们又共享同一主内存(MainMemory)。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但是也引入了新的问题:缓存一致性(CacheCoherence)。当多个处理器的运算任务都涉及同一块主内存区域时,将可能导致各自的缓存数据不一致的情况,如果真的发生
胡志强
·
2023-08-16 01:03
Java并发编程
:CAS和AQS
一、什么是CASCAS(CompareAndSwap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数————内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论哪种情况,它都会在CAS指令之前返回该位置的值。CAS有效地说明了“我认为位置V应该包含值A;如果包
程序员116号
·
2023-08-15 11:43
Java并发之ReentrantLock
在是
JUC
下一个重要的并发类,例如:ReentrantLock、Semaphore、CountDownLatch、LimitLatch等并发都是由AQS衍生出来的。
qq_27502511
·
2023-08-15 05:21
java
开发语言
JUC
并发编程之深入理解ThreadLocal
目录1.ThreadLocal概述2.ThreadLocal的使用方法2.1创建ThreadLocal变量2.2获取和设置ThreadLocal变量的值2.3移除ThreadLocal变量3.ThreadLocal的工作原理4线程池中的使用1.ThreadLocal概述ThreadLocal是Java标准库提供的一个工具类,位于java.lang包下。它允许你创建一个线程局部变量,每个线程都可以独
山河亦问安
·
2023-08-15 04:28
java
开发语言
JUC
线程池:ThreadPoolExecutor
原文:https://mp.weixin.qq.com/s/58OTplKPlFHtgfyRzcqbzw前提很早之前就打算看一次
JUC
线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙
longLiveData
·
2023-08-15 04:17
Java并发编程
之验证volatile指令重排-理论篇
Java并发编程
之验证volatile指令重排-理论篇Java并发包下的类中大量使用了volatile关键字。
凯哥Java
·
2023-08-15 04:06
Java并发编程
的艺术_Conc
Java并发编程
的艺术1并发编程的挑战1.1上下文切换即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。
silverbo1
·
2023-08-14 23:54
java并发编程的艺术
java
并发编程
流控制
.…..ELSE..ENDIF.用户名/密码登录的例子REPORTZABAP1903_07YU
JUC
06.PARAMETERS:user(15)typec,pass(15)typec.DATA:info_a
扇动蝴蝶的翅膀
·
2023-08-14 21:30
JUC
常用类
文章目录
JUC
中常用的类1.原子类2.信号量Semaphore3.ReentrantLock
JUC
中常用的类1.原子类当我们在多线程环境下对变量进行更新时,会得到预期以外的值,典型的就是i++操作,通常会使用
爱敲代码的三毛
·
2023-08-14 18:08
多线程
java
多线程
多线程学习笔记
进程与线程的概念1.2线程状态二、多线程2.1概念区分2.2多线程编程应用场景三、线程编程3.1线程的创建方式3.2线程优先级3.3关键字和方法讲解3.3线程停止方式3.4多线程编程步骤3.5生产者消费者模式
JUC
长着角角的马
·
2023-08-14 03:41
java
【并发编程
JUC
】Future和CompletableFuture机制
场景题面试的时候当面试官提出一个场景题,比如有一个翻译接口,同时调用百度、网易、谷歌的三个翻译接口,使用返回的第一个的翻译。这个时候一般的想法可能是,先串行执行。然后异步获取。但是其实都知道这样性能非常慢。Future如果直接使用Future的方式,我们知道Future的get接口是阻塞的,也就是在执行调用三方接口的返回结果的时候,需要阻塞等待结果。其实整体的耗时就是取决于最短的三方接口响应,如果
qxlxi
·
2023-08-14 03:27
#
并发编程
juc
并发编程--------
JUC
集合
并发集合一、ConcurrentHashMap1.1存储结构ConcurrentHashMap是线程安全的HashMapConcurrentHashMap在JDK1.8中是以CAS+synchronized实现的线程安全CAS:在没有hash冲突时(Node要放在数组上时)synchronized:在出现hash冲突时(Node存放的位置已经有数据了)存储的结构:数组+链表+红黑树1.2存储操作1
奔跑的码农小哥
·
2023-08-13 22:10
多线程与高并发
java
多线程与高并发--------阻塞队列
1.2
JUC
阻塞队列的存取方法常用的存取方法都是来自于
JUC
包下的
奔跑的码农小哥
·
2023-08-13 22:40
多线程与高并发
java
JUC
线程池的实战问题 - 线程池参数应该如何配置?
在《
Java并发编程
实战》一书中,作者BrianGoetz等人指出,线程池的规模应该根据任务类型和计算密集度来确定,对于CPU密集型任务,应该将核心线程数设置为处理器核心数加1或者2;对于I/
@Autowire
·
2023-08-13 14:08
JUC面试题汇总
java
JUC
线程池的实战问题引出的一系列原理问题
1我们为什么需要使用线程池线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待、监督、管理、分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开销的代价,另一方面避免了线程数量膨胀导致的过分调度问题,保证了对内核的充分利用。线程池是一种通过“池化”思想,帮助我们管理线程而获取并发性的工具,在Java中的体现
@Autowire
·
2023-08-13 14:07
JUC面试题汇总
python
java
开发语言
Java多线程(4)---死锁和Synchronized加锁流程
死锁的几个经典场景2.3死锁产生的条件2.4如何解决死锁个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主本文由tq02原创,首发于CSDN本章讲解内容:多线程的策略锁、CAS和
JUC
tq02
·
2023-08-13 12:05
JavaEE
java
开发语言
死锁
java-ee
【
JUC
】复习指南
JUC
复习指南:
JUC
有哪些知识点?
一条柴_Alex
·
2023-08-13 07:14
#
多线程
java
分布式定时任务系列5:XXL-job中blockingQueue的应用
传送门分布式定时任务系列1:XXL-job安装分布式定时任务系列2:XXL-job使用分布式定时任务系列3:任务执行引擎设计分布式定时任务系列4:任务执行引擎设计续
Java并发编程
实战1:java中的阻塞队列引子这篇文章的主要目不是讨论
kobe_t
·
2023-08-13 06:39
#
分布式调度
java
Java并发编程
(四)线程同步 中 [AQS/Lock]
概述Java中可以通过加锁,来保证多个线程访问某一个公共资源时,资源的访问安全性。Java提出了两种方式来加锁第一种是我们上文提到的通过关键字synchronized加锁,synchronized底层托管给JVM执行的,并且在java1.6以后做了很多优化(偏向锁、自旋、轻量级锁),使用很方便且性能也很好,所以在非必要的情况下,建议使用synchronized做同步操作;第二种是本文将要介绍的通过
奉先节度使
·
2023-08-12 23:33
#
Java
java
上一页
30
31
32
33
34
35
36
37
下一页
按字母分类:
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
其他