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并发(J.U.C)
Java并发
基础:LinkedTransferQueue全面解析!
内容概要LinkedTransferQueue类实现了高效的线程间数据传递,支持等待匹配的生产者-消费者模式,基于链表的无界设计使其在高并发场景下表现卓越,且无需担心队列溢出,丰富的方法和良好的可扩展性满足了各种复杂应用场景的需求。核心概念LinkedTransferQueue是一个高效、无界、基于链表的队列,它同时实现了TransferQueue接口和BlockingQueue接口,这个队列设计
程序员古德
·
2024-02-09 03:27
Java并发基础
java
开发语言
Java并发
基础:ArrayBlockingQueue全面解析!
内容摘要ArrayBlockingQueue类是一个高效、线程安全的队列实现,它基于数组,提供了快速的元素访问,并支持多线程间的同步操作,作为有界队列,它能有效防止内存溢出,并通过阻塞机制平衡生产者和消费者的速度差异,它还提供了公平性和非公平性策略,满足不同场景下的需求。核心概念主要场景在现实业务场景中,可以将ArrayBlockingQueue地运用到许多需要处理并发和资源限制的问题上,假设,团
程序员古德
·
2024-02-09 03:27
java
开发语言
Java并发
编程:synchronized
在多线程编程过程中,那一定避免不了线程安全的问题。由于每个线程执行过程是不可控的,所以很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。那么怎么解决线程安全的问题呢?基本上所有的并发模式在解决线程安全的问题时,都是采用互斥访问的方式来解决,就是在同一时刻,只能由一个线程访问共享的资源。也就是在访问共享资源的代码之前加一个锁,当线程访问该资源时持有这个锁,等访问结束释放这把锁,这样别的线
匿名用户_bcc3
·
2024-02-09 03:07
Java并发
之ReentrantLock详解
一、ReentrantLockReentrantLock是
Java并发
包中互斥锁,它有公平锁和非公平锁两种实现方式,以lock()为例,其使用方式为:ReentrantLocktakeLock=newReentrantLock
lisx_
·
2024-02-09 00:28
Java并发
系列学习(三)
Java并发
系列学习(三)众所周知,
Java并发
系列编程一直都是Java程序员难以轻易绕过的山,可谓之小高之山也。
丑人林宗己
·
2024-02-08 18:37
java并发
集合的一些坑
用ScheduledExecutorService并发计算相似度,结果要放到同一个集合,然后再进行排序。试了vector,CopyOnWriteArrayList等集合,都会出现随机的数据丢失,然后写了一个ConcurrentArrayList,也是会有数据丢失。最后还是想办法换回ConcurrentHashMap,数据不丢失了,问题解决,看来还是ConcurrentHashMap比较靠谱。但是发
十倍光速
·
2024-02-08 12:39
从JVM角度理解
Java并发
(下)
文章目录前言一、Java内存模型(JMM)1.1可见性1.1.1问题表述1.1.2解决办法1.2有序性1.2.1问题表述1.2.2解决办法1.3volatile原理1.3.1保证可见性1.3.2保证有序性1.4happen-before规则1.5final原理1.5.1写final1.5.2读final二、线程池2.1线程池的状态2.2ThreadPoolExecutor构造方法2.3线程池提交2
Yungang_Young
·
2024-02-08 07:46
Java
java
jvm
并发
多线程
锁(一)java中的锁相关
《
Java并发
编程的艺术》-
Java并发
包中的读写锁及其实现分析|并发编程网–ifeve.com一、java.util.concurrent.Lock接口1、锁的简单介绍锁可以控制多个线程访问共享资源的方式
w_t_y_y
·
2024-02-07 13:07
多线程编程
安全
java
jvm
java多线程实现(二)
Java并发
容器和框架
一、CouncurrentHashMap二、ConcurrentLinkedQueue三、java中的阻塞队列jdk7提供了7个阻塞队列四、Fork/Join框架
w_t_y_y
·
2024-02-07 13:37
多线程编程
java
开发语言
AQS与ReentrantLock
AbstractQueuedSynchronizer简称AQS
Java并发
编程核心在于java.concurrent.util包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列
蒋斌文
·
2024-02-07 06:41
【
Java并发
面试】10道不得不会的
Java并发
基础面试题
以下都是Java的并发基础面试题,相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答,建议收藏,经常温习查阅。评论区见@[toc]1.start()方法和run()方法的区别如果只是调用run()方法,那么代码还是同步执行的,必须等待一个线程的run()方法里面的代码全部执行完毕之后,另外一个线程才可以执行其run()方法里
JavaPub
·
2024-02-06 11:50
Java并发
编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
https://www.cnblogs.com/dolphin0520/p/3920385.html
博弈史密斯
·
2024-02-06 04:27
java并发
编程
一、java线程1.三种创建线程的方式Integersum=futureTask.get();会等待其对应的线程执行完,即阻塞再获得结果。所以我在测试时,出现一个小插曲@Slf4jpublicclassThreeWays{//1.自定义MyThread进行继承Threadstaticvoidtest001(){Threadthread=newMyThread();thread.setName("t
grin : (0~.~0)
·
2024-02-05 18:50
java
开发语言
Java并发
基础:CyclicBarrier和CountDownLatch区别!
核心概念CyclicBarrier和CountDownLatch都是
Java并发
编程中的工具,用于协调多线程之间的同步。虽然它们都用于等待一组线程完成某项任务,但它们的使用场景和行为有一些关键的区别。
程序员古德
·
2024-02-05 07:01
Java并发基础
java
性能优化
开发语言
Java并发
基础:FutureTask全面解析!
内容概要FutureTask结合了Future和Runnable接口,它能够异步执行任务,提高程序响应性,可以获取任务执行结果,并且支持任务取消机制,提高了灵活性,同时,它简化了并发编程,使多线程开发更加便捷。核心概念FutureTask主要用来解决异步计算的问题,它提供了一种便捷的方式,可以将耗时的计算任务提交给另一个线程去执行,而当前线程可以继续执行其他任务,从而实现并发执行的效果,它实现了F
程序员古德
·
2024-02-05 07:00
Java并发基础
java
性能优化
开发语言
Java并发
之synchronized详解
❤️文章目录
Java并发
之synchronized详解一、synchronized二、synchronized原理(1)对象头(2)Monitor(3)工作流程三、synchr
欧克小奥
·
2024-02-05 02:09
Java集合源码
java
synchronized
Ainx框架实现 一
本文收录于Ainx系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发
编程系列,设计模式系列、goweb开发框架系列正在发展中,
过去日记
·
2024-02-05 00:19
AINX
go
网络
golang
[
Java并发
]-----第2章 并发编程的其他基础知识
1.什么是多线程并发编程并发是指同一个时间段内多个任务同时(宏观上的同时,微观上是时间片划分)都在进行,并且都没有执行结束.2.为什么要进行多线程并发编程(废话)多核CPU时代的到来打破了单核CPU对多线程效能的限制.对多个CPU意味着每个线程可以使用自己的CPU运行,这减少了线程上下文切换的开销,但随着对应用系统性能和吞吐量要求的提高,出现了处理海量数据和请求的要求,这些都对高并发编程有着迫切的
Benjamin_Lee
·
2024-02-04 23:07
线程池的7大参数及4大拒绝策略详解
这里借用《
Java并发
编程的艺术》提到的来说一下使用线程池的好处:降低资源消耗
YangYangYang24
·
2024-02-04 11:06
java
java并发
编程-线程池(三)Executors工厂类
如果觉得写的还可以请关注微信公众号:程序猿的日常分享,定期更新分享。Executors工厂线程池主要有三类,一个是用于创建立即执行的线程池ThreadPoolExecutor,一个是用于创建执行定时任务类线程池ScheduledThreadPoolExecutor,还有就是在jdk1.7引入的基于fork/join框架的分治线程池ForkJoinPool。基于这3种线程池实现类,Executors
wangpeng123
·
2024-02-04 04:09
业务程序中如何设置线程数?
我们通常在资料中找到一些经典的回答,例如判断任务是CPU密集型还是IO密集型,或者参考《
Java并发
编程实战》一书的建议:1.判断任务是CPU密集型还是IO密集型(其中N表示CPU的核心数量):CPU密集型
半亩方塘立身
·
2024-02-03 19:13
Java
面试
java
后端
Java并发
指南7:JUC的核心类AQS详解
本文转自:https://www.javadoop.com/post/AbstractQueuedSynchronizer#toc4本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章同步发于我的个人博客:www.how2playlife.com本文是微
da3acf50377b
·
2024-02-03 17:17
java并发
编程
0.思维导图并行:单位时间多个处理器同时处理多个任务并发:一个处理器处理多个任务,按时间片轮流处理1.java实现多线程有几种方式♥♥♥实现接口会更好一些,因为java不支持多重继承,因此继承了Thread类就无法继承其他类,但是可以实现多个接口继承Thread类,只需要创建一个类继承Thread类然后重写run方法,在main方法中调用该类实例对象的start方法。实现Runnable接口,只需
韩顺平的小迷弟
·
2024-02-03 16:04
#
java基础
java
数据库
开发语言
【零散知识点总结2】
1》该文章涉及:Dubbo、HTTP和HTTPS、Mybatis、Hibernate、Zookeeper、Kafka、Elasticsearch、Redis《零散知识点总结2》该文章涉及:MySQL、
Java
木林森屿城
·
2024-02-03 16:44
java
java
Java并发
基础:CountDownLatch全面解析!
内容概要CountDownLatch的优点在于能够简洁高效地协调多个线程的执行顺序,确保一组线程都完成后才触发其他线程的执行,适用于资源加载、任务初始化等场景。它提供了清晰的等待/通知机制,易于理解和使用,是提升多线程程序性能和可靠性的重要工具。核心概念CountDownLatch是java.util.concurrent中的一个类,主要用来解决多线程之间的协同工作问题,特别是当一个或多个线程需要
程序员古德
·
2024-02-03 12:14
Java并发基础
java
开发语言
数据库
ConcurrentHashMap源码分析-关键特性使用简单用例实现
ConcurrentHashMap是
Java并发
包中的一个线程安全的HashMap实现。
无名·
·
2024-02-03 02:30
java
线程安全
(十)
J.U.C
之AQS--ReentrantLock与锁
首先要知道Java中的锁主要分两类锁,一种是synchronize锁,另外一种就是
J.U.C
中提供的锁,
J.U.C
里核心的锁是ReentrantLockReentrantLock(可重入锁)与synchronize
匆匆岁月
·
2024-02-03 01:14
JUC,
Java并发
编程
JUC概述线程状态线程状态枚举类NEW新建RUNNABLE准备就绪BLOCK阻塞WAITING不见不散TIMED_WAITING过时不候TERMINATED中结并行与并发wait和sleep的区别sleep是Thread的静态方法,wait是Object的方法,任何对象实例都可以调用。sleep不会释放锁,它也不需要占用锁。若当前线程占有锁,那么wait会释放锁。他们都可以被interrupted
Benaso
·
2024-02-02 14:10
JUC
java
开发语言
JUC并发编程
Java并发
编程(JavaConcurrency)是指在Java程序中同时进行多个任务的一种编程方式。
星光不问赶路人-
·
2024-02-02 12:14
并发
JUC
深入理解Java中的ForkJoin框架原理
ForkJoin框架是
Java并发
包(java.util.concurrent)的一部分,主要用于并行计算,特别适合处理可以
地瓜伯伯
·
2024-02-02 12:41
源码
java
spring
spring
boot
java-ee
spring
cloud
jvm
JAVA并发
十二连招,你能接住吗?(建议收藏!!)
话不多说,干货走起。1、HashMap面试第一题必问的HashMap,挺考验Javaer的基础功底的,别问为啥放在这,因为重要!HashMap具有如下特性:1.HashMap的存取是没有顺序的。2.KV均允许为NULL。3.多线程情况下该类安全,可以考虑用HashTable。4.JDk8底层是数组+链表+红黑树,JDK7底层是数组+链表。5.初始容量和装载因子是决定整个类性能的关键点,轻易不要动。
城府灬
·
2024-02-02 12:15
java并发
编程基础(四)
Java中的锁1.Lock接口锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程访问共享资源。在lock接口出现之前,java程序依靠synchroized关键字实现锁的功能,Loc接口拥有了获取锁与释放锁的可操作性,可中断的获取锁。packagecn.smallmartial.concurrency;importjava.util.concurrent.locks.Reen
smallmartial
·
2024-02-02 08:21
Java并发
基础:CyclicBarrier全面解析!
内容摘要CyclicBarrier的优点在于实现了线程间的相互等待与协同,确保所有线程在达到预定屏障点后才能继续执行,它支持屏障的重复使用,非常适合多轮次的任务同步,此外,CyclicBarrier还允许在屏障点执行特定操作,为复杂的多线程协作提供了便利。核心概念业务场景CyclicBarrier允许一组线程互相等待,直到所有线程都到达某个屏障(barrier)点,然后这些线程可以继续执行后续的任
程序员古德
·
2024-02-01 16:25
Java并发基础
java
开发语言
数据库
Java并发
基础:CompletionService全面解析!
内容概要CompletionService的优点在于能够解耦任务提交与结果获取,有效的整合线程池与阻塞队列,实现任务完成顺序的处理,提升系统吞吐量,它简化了多线程编程的复杂性,使开发者能够更专注于业务逻辑,而不必过多关注线程管理细节。核心概念CompletionService是一个结合了Executor和BlockingQueue功能的服务,它主要用于解决异步任务执行中的两个问题:任务管理和结果收
程序员古德
·
2024-02-01 16:55
Java并发基础
java
开发语言
Java并发
基础:Semaphore全面解析!
内容概要Semaphore通过控制许可数量,实现了对并发线程数的精细管理,有效避免了资源竞争和过载问题,能显著提升系统吞吐量和响应速度,同时,Semaphore还支持公平与非公平策略,具有更好的灵活性和适应性,满足了不同业务场景的需求。核心概念Semaphore是java.util.concurrent中非常有用的并发编程工具类,它通常被用于限制对某个资源或资源池的并发访问数量。举个实际的例子:假
程序员古德
·
2024-02-01 16:55
Java并发基础
java
数据库
网络
关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
前言在
Java并发
编程中,我们通常使用到synchronized、Lock这两个线程锁,Java中的锁,只能保证对同一个JVM中的线程有效。而在分布式集群环境,这个时候我们就需要使用到分布式锁。
前程有光
·
2024-02-01 16:57
Java并发
基础:Phaser全面解析!
内容概要Phaser是Java中一个灵活的同步工具,其优点在于支持多阶段的任务拆分与同步,并且能够动态地注册与注销参与者,它提供了丰富的等待与推进机制,使得开发者能够更细粒度地控制线程的协调行为,实现复杂的并行任务处理,相比于其他同步工具,Phaser更加灵活且易于扩展,适用于多种并发场景。核心概念在Java中,Phaser是一个灵活的同步工具类,它允许多个线程在一个或多个屏障(barrierpo
程序员古德
·
2024-02-01 16:50
Java并发基础
java
开发语言
并发编程技术之
J.U.C
中的并发容器——七个面试知识点
眼尖的朋友可能还看见了此博客页面左上角还有惊喜哟面试题1.Java集合框架以及
J.U.C
框架中列举List、Set、Map的实现?
Java_No01
·
2024-02-01 05:53
面试题
并发编程
并发容器
面试题
Java
程序人生
死磕 java魔法类之Unsafe解析
简介本章是
java并发
包专题的第一章,但是第一篇写的却不是
java并发
包中类,而是java中的魔法类sun.misc.Unsafe。
编程小世界
·
2024-02-01 02:48
Java并发
编程之阻塞队列
1.什么是阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来
逍遥白亦
·
2024-01-31 22:24
面试稿·Java
面试稿·Java一、Java基础1、Java数据结构2、Java网络编程2.1TCP&UDP2.2Netty2.2.1Netty项目2.2.1.1Push(推)&Pull(拉)3、Java多线程3.1
Java
u010823625
·
2024-01-31 21:20
Java
2021
【
JAVA并发
】线程安全
1、线程安全多个线程对同一个共享变量进行读写操作时可能产生不可预见的结果,这就是线程安全问题。线程安全的核心点就是共享变量,只有在共享变量的情况下才会有线程安全问题。这里说的共享变量,是指多个线程都能访问的变量,一般包括成员变量和静态变量,方法内定义的局部变量不属于共享变量的范围。线程安全问题示例:importlombok.extern.slf4j.Slf4j;/***@AuthorFengJia
Java零基础教
·
2024-01-31 00:12
学习笔记:Java 并发编程(补)CompletableFuture
学习视频:https://www.bilibili.com/video/BV1ar4y1x727参考书籍:《实战JAVA高并发程序设计》葛一鸣著系列目录学习笔记:
Java并发
编程①_基础知识入门学习笔记
YanZhaoHanWei_555
·
2024-01-30 22:32
#
JUC
Java
基础学习
java
学习
并发编程之AQS初探
Java并发
编程核心在于java.concurrent.util包,而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer
lianzhongzhang
·
2024-01-30 19:38
并发编程
并发编程
java
并发编程之 AQS & ReentrantLock
在
Java并发
包中提供的锁(java.util.concurrent.locks),都是利用AQS来实现的。AQS底层其实也是利用CAS来共同实现锁的机制。
Howinfun
·
2024-01-30 19:08
Java并发编程
并发编程
AQS
JAVA
Java中的四种线程池详解及使用场景
前言在
Java并发
编程中,JDK提供了一套强大的线程池工具类java.util.concurrent.ThreadPoolExecutor以及它的四个便捷工厂方法,这四种线程池分别对应不同的使用场景和特性
李少兄
·
2024-01-30 13:10
Java
java
开发语言
java并发
编程(十一)LockSupport之park/unpark
一、简介1.1主要方法Park/UnPark方法是LockSupport当中的方法。其常用方法有如下:park():暂停当前线程。park(Objectblocker):暂停当前线程,并指定负责此线程停放的同步对像。parkNanos(longnanos):暂停当前线程,指定等待的最大纳秒数。parkNanos(Objectblocker,longnanos):暂停当前线程,指定等待的最大纳秒数和
我犟不过你
·
2024-01-30 10:33
J.U.C
之AQS:源码解析-核心属性
AQS核心属性publicabstractclassAbstractQueuedSynchronizerextendsAbstractOwnableSynchronizerimplementsjava.io.Serializable{privatestaticfinallongserialVersionUID=7373984972572414691L;/***同步队列头节点*/privatetra
贪睡的企鹅
·
2024-01-30 07:38
深入理解 Java 多线程
深入理解Java多线程1.概述Java多线程编程是
Java并发
性的核心。通过合理地使用多线程,可以充分利用多核处理器、提高程序性能、提升用户体验。
hymua
·
2024-01-29 23:47
java
开发语言
字节面试杂谈——
JAVA并发
目录一、并行和并发、进程和线程、守护线程、为什么使用多线程、多线程带来的问题1.并行和并发有什么区别?2.线程和进程的区别?3.守护线程是什么?4.请简要描述线程与进程的关系,区别及优缺点5.为什么要使用多线程呢?二、创建线程的方式(1)继承Thread类创建线程(2)实现Runnable接口创建线程(3)使用Callable和Future创建线程(4)使用线程池例如用Executor框架三、Ru
shintyan
·
2024-01-29 17:12
#
JAVA多线程
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
其他