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并发编程并发容器
由一个单例模式引发的思考-holder类方式
前言:最近在看《
Java并发编程
实践》,里面提到了一种实现单例模式的方式,并大致说明了机制,但仍不是很清晰,今日有空,查阅相关书籍,尝试解释其中道理。
不随意的风
·
2023-10-30 12:31
JVM
设计模式
单例模式
java
jvm
【原创】腾讯面试官:线程池要设置多大
Hunter心想,这不难啊,曾经在《
Java并发编程
》一书中有看到过线程池中线程数目设置的讲述,于是张
Dali王
·
2023-10-30 05:33
CountDownLatch、CyclicBarrier、Semaphore、Exchanger 的详细解析
本文主要介绍和对比我们常用的几种并发工具类,主要涉及CountDownLatch、CyclicBarrier、Semaphore、Exchanger相关的内容,如果对多线程相关内容不熟悉,可以看笔者之前的一些文章:《
Java
AnonyStar
·
2023-10-29 23:40
Java并发编程
学习笔记
Java并发编程
学习笔记CPU多级缓存模型计算机为什么要设计高速缓存架构CPU与主存运行速度的差异CPU长时间空闲引入高速缓存,减少CPU等待时间,提升运行效率多核CPU的多级缓存架构是怎么样的多核CPU
NewBee.Mu
·
2023-10-29 13:27
从头开始学java
知识点总结
java
java
java.util.concurrent包下的
并发容器
一、简述不考虑多线程并发的情况下,容器类一般使用ArrayList、HashMap等线程不安全的类,效率更高。并发场景,常用到ConcurrentHashMap、ArrayBlockingQueue等线程安全的容器类,虽然牺牲了一些效率,但却得到了安全。二、java.util.concurrent包下的线程安全容器ConcurrentHashMap:并发版HashMapCopyOnWriteArr
JFS_Study
·
2023-10-29 10:13
Thread
java
图解java.util.concurrent并发包源码系列——深入理解ConcurrentHashMap
并发容器
,看完薪水涨一千
图解java.util.concurrent并发包源码系列——深入理解ConcurrentHashMap
并发容器
HashMap简单介绍HashMap在并发场景下的问题HashMap在并发场景下的替代方案
黄俊懿
·
2023-10-29 10:41
java
开发语言
后端
并发编程
Java并发编程
指南:如何正确使用信号量和线程池熔断机制
前言:在分布式系统中,选择合适的熔断机制是保护系统免受故障影响的关键。本文将介绍使用信号量和线程池两种常见的熔断机制,并提供Java和SpringCloudAlibaba框架下的示例代码,帮助您深入理解和应用。1.信号量熔断机制信号量熔断机制基于并发请求的数量进行熔断,可限制系统的并发访问量。它适用于资源有限且对请求响应时间要求较高的场景。下面是使用Java和SpringCloudAlibaba框
热心码民阿振
·
2023-10-29 02:59
Java
java
开发语言
spring
cloud
分布式
《
Java并发编程
实战》机械工业出版社 童云兰译 PDF下载(Java Concurrency in Practice中文版)
下载地址:http://www.ishare1.cn/archives/813.html《
Java并发编程
实战》机械工业出版社童云兰译PDF电子书下载(JavaConcurrencyinPractice
sunjian286
·
2023-10-28 19:26
大厂面试题-
Java并发编程
基础篇(五)
目录一、为什么ConcurrentHashMap中key不允许为null考察目标问题解析回答二、ThreadLocal会出现内存泄漏吗?考察目的问题解析回答三、什么是CompletableFuture?问题分析问题解答四、什么条件下会产出死锁,如何避免死锁?1、什么是死锁?2、产生死锁的原因3、如何避免死锁?五、ConcurrentHashMap是如何保证线程安全的?1、JDK1.7实现原理2、J
似来
·
2023-10-28 16:40
面试题
java
数据结构
开发语言
Java并发编程
解析 | 基于JDK源码解析Java领域中并发锁之StampedLock锁的设计思想与实现原理 (三)
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。主要原因是,对于多线程实现实现并发,一直以来,多线程都存在2个问题:线程之间内存共享,需要通过加锁进行控制,但是加锁会导致性能下降,同时复杂的加锁机制也会增加编程编码难度过多线程造成线程之
朝槿木兮
·
2023-10-28 05:38
mybatis 连接池探究
起因是目前再看《
Java并发编程
的艺术》并发基础那章实现了一个简单的连接池,虽然只是为了展示等待/通知,但是我对平时常用的mybatis的连接池是怎么实现的感到很好奇,所以就有了这次的记录。
上重楼
·
2023-10-28 02:54
《
Java并发编程
之美》学习笔记
成功上岸,进入华为,之前花5W买的JAVA课程合集,整整420集,拿走不谢,公粮上交,手把手教学,学完即可就业_哔哩哔哩_bilibili1.并发编程基础1.1什么是线程线程是进程中的一个实体,线程本身是不会独立存在的。进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源操作系统在分配资源时是
jmysql
·
2023-10-28 01:18
java
学习
大数据
《
Java并发编程
之美》笔记
Java并发编程
之美阅读开源框架的一点心得为什么要看源码由经验不足导致的问题不知道如何去设计,就看当前系统类似需求的设计,然后去仿照设计的时候,考虑不周全工作经验的积累来自于年限与实践,看源码可以扩展思路可以解决经验不足的办法通过学习开源框架
老干妈炒饭
·
2023-10-27 23:40
Java并发编程
之深入理解线程池原理及实现
如果需要先行了解
Java并发编程
的基础知识,可参考以下随
weixin_34132768
·
2023-10-27 14:47
java
设计模式
数据结构与算法
并发编程之JMH
在后面的原子类体系、并发工具体系、
并发容器
体系、线程池体系、Stream体系等都会用到此工具进行测试,这也是JVM团队推荐我们使用的测量工具。
宋小智
·
2023-10-27 14:44
并发编程
java
Java并发编程
40道面试题及答案——面试稳了
1、线程与进程的区别?进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少有一个进程,一个进程至少有一个线程。文末有福利,思维导图和视频资料等你来领2、什么是多线程中的上下文切换?多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。不同的线程切换使用CPU发生的切换数据等就是上下文切换。3、死锁与活
Java黎先生
·
2023-10-27 09:21
讲真,我发现这本书有个地方写错了!
可恶的标题党首先,我先说一下我发现的《
Java并发编程
的艺术》写错的地方吧。我手上这本《
Java并发编程
的艺术》的版次是:2019年3月第1版第14次印刷。
why技术
·
2023-10-27 03:32
java技术
面试题
【JAVA】:万字长篇带你了解
JAVA并发编程
【二】
目录【JAVA】:万字长篇带你了解
JAVA并发编程
【二】3.线程池池化技术线程池的概念与作用什么是线程池?
无难事者若执
·
2023-10-27 03:30
Java开发知识
java
多线程
并发
Java并发编程
解析 | 基于JDK源码解析Java领域中ReentrantLock锁的设计思想与实现原理 (一)
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。主要原因是,对于多线程实现实现并发,一直以来,多线程都存在2个问题:线程之间内存共享,需要通过加锁进行控制,但是加锁会导致性能下降,同时复杂的加锁机制也会增加编程编码难度过多线程造成线程之
朝槿木兮
·
2023-10-26 08:12
(十)深入理解
Java并发编程
之ThreadPool线程池、工作原理、复用原理及源码分析
一、引言一般在开发过程中,一个功能是运行时长太久了,一般是通过什么方式去优化的?异步/多线程,对于一个业务方法而言,如果其中的调用链太长势必会引起程序运行时间延长,导致整个系统吞吐来量下降,而我们使用多线程方式来对该方法的调用链进行优化,对于一些耦合度不是特别高的调用关系可以直接通过多线程来走异步的方式进行处理,大大的缩短了程序的运行时长,但是如果我们的多线程创建方式是通过newThread();
竹子爱熊猫
·
2023-10-26 04:16
并发编程
java
多线程
面试
18.CAS算法
核心原理是compareandswap:一个CPU操作指令,不可分割,具有原子性2.适用场景乐观锁
并发容器
原子类3)以AtomicInteger为例,分析在Java中是如何利用CAS实现原子操作的?
哈哈大圣
·
2023-10-26 03:11
【JAVA】:万字长篇带你了解
JAVA并发编程
【一】
目录【JAVA】:万字长篇带你了解
JAVA并发编程
1.并发编程基础并发与并行并发(Concurrency)并行(Parallelism)线程与进程线程的状态与生命周期线程同步与锁2.Java并发工具类准备
无难事者若执
·
2023-10-26 02:57
Java开发知识
java
多线程
并发
volatile关键字的原理及适用场景(摘选)
一、volatile的作用在《
Java并发编程
:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchronized
阿斯蒂芬2
·
2023-10-25 17:51
Java并发编程
——CompletableFuture源码解析
前言JDK8为我们带来了CompletableFuture这个有意思的新类,它提供比Future更灵活更强大的回调功能,借助CompletableFuture我们可以更方便的编排异步任务。由于CompletableFuture默认的线程池是ForkJoinPool,在讲CompletableFuture之前觉得有必要先简单介绍一下ForkJoinPool。一、ForkJoinPool工作原理For
小波同学
·
2023-10-25 01:39
基于hutool实现国密SM2的加解密,简直不要太简单!
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发编程
实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-10-24 22:56
java
sm2
easypoi-实现动态列导出excel
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发编程
实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-10-24 22:56
excel
easypoi
Python(一)关键字、内置函数
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发编程
实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2023-10-24 22:50
Python
1024程序员节
python
17 -
并发容器
的使用:识别不同场景下最优容器
在并发编程中,我们经常会用到容器。今天我要和你分享的话题就是:在不同场景下我们该如何选择最优容器。1、并发场景下的Map容器假设我们现在要给一个电商系统设计一个简单的统计商品销量TOP10的功能。常规情况下,我们是用一个哈希表来存储商品和销量键值对,然后使用排序获得销量前十的商品。在这里,哈希表是实现该功能的关键。那么请思考一下,如果要你设计这个功能,你会使用哪个容器呢?在07讲中,我曾详细讲过H
Q.E.D.
·
2023-10-24 13:02
性能调优
并发容器
性能优化
性能调优
java并发编程
:管程、内存模型、无锁并发、线程池、AQS原理与锁、线程安全集合类、并发设计模式
文章目录基础1.进程与线程2.并发与并行3.同步与异步4.主线程与守护线程5.Thread与Runnable6.线程方法7.线程状态管程1.共享问题、临界区、竞态条件2.Monitor3.synchronized4.wait¬ify5.Park&Unpark6.活跃性7.ReentrantLock8.lockvssynchronized内存模型1.线程切换带来的原子性2.缓存导致的可见性3.
Henrik-Yao
·
2023-10-24 01:22
东北大学在校期间
高并发
JUC
线程池
锁
java
Java进阶篇--
并发容器
之ArrayBlockingQueue与LinkedBlockingQueue
目录ArrayBlockingQueue简介ArrayBlockingQueue的主要属性put方法take方法ArrayBlockingQueue代码示例LinkedBlockingQueue简介LinkedBlockingQueue的主要属性put方法详解take方法详解LinkedBlockingQueue代码示例ArrayBlockingQueue与LinkedBlockingQueue的
世俗ˊ
·
2023-10-23 20:33
Java进阶篇
java
开发语言
java并发编程
(十二)ReentrantLock深入浅出
一、ReentrantLock简介1.1特点ReentrantLock具有如下的特点:可重入可中断可设置超时时间可设置为公平锁支持条件变量后面会重点讲解其特点的实现原理。1.2代码结构其代码结构如下图:image.png有三个内部类,分别是:Sync、FairSync、NonfairSync。Sync继承自AbstractQueuedSynchronizer。AbstractQueuedSynch
我犟不过你
·
2023-10-23 19:27
Java集合容器面试题
主题链接Java基础知识面试题Java集合容器面试题
Java并发编程
面试题Java底层知识面试题Java常用框架面试题计算机网络面试题数据库面试题RabbitMQ面试题Redis面试题Elasticsearch
已是寒冬
·
2023-10-23 18:52
Java面试题
Java社招面试题
Java集合面试题
面试题
跨越单线程限制:Thread类的魅力,引领你进入
Java并发编程
的新纪元
线程的概述线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:Java中的多线程是一种抢占机制而不是分时机制。抢占机制指的是有多个线程处于可运行状态,但是一个CPU同时只允许一个线程在运行,他们通过竞争的
技术琐事
·
2023-10-23 13:41
java
jdk
后端
学习英特尔线程构建模块开源2.1库
这也是一种太底层的方法,例如,您无权访问任何
并发容器
,也没有任何可使用的并发算法。
cusi77914
·
2023-10-23 10:18
c++
python
java
编程语言
多线程
Java多线程编程
java并发编程
基础知识线程概述进程:是CPU分配资源的最小单元,是程序的一次动态执行,它对应着从代码加载,执行至完成的一个完整的过程,它有自己的生命周期。
bobozhangshao
·
2023-10-23 09:49
Java进阶篇--
并发容器
之CopyOnWriteArrayList
目录CopyOnWriteArrayList的简介COW的设计思想CopyOnWriteArrayList的实现原理总结CopyOnWriteArrayList的简介CopyOnWriteArrayList是Java提供的一个线程安全的容器类。与ArrayList不同,CopyOnWriteArrayList在并发读写时可以保证线程安全,而且读写之间不会被阻塞。它适用于读多写少的场景,如系统配置信
世俗ˊ
·
2023-10-23 02:20
Java进阶篇
java
开发语言
Java进阶篇--
并发容器
之ThreadLocal内存泄漏
目录ThreadLocal内存泄漏的原因?改进和优化cleanSomeSlots方法expungeStaleEntry方法replaceStaleEntry方法为什么使用弱引用?Thread.exit()ThreadLocal内存泄漏最佳解决方案在使用完毕后立即清理ThreadLocal使用InheritableThreadLocal替代ThreadLocal使用弱引用清理ThreadLocalT
世俗ˊ
·
2023-10-23 02:20
Java进阶篇
java
jvm
开发语言
Java进阶篇--
并发容器
之BlockingQueue
目录BlockingQueue简介常用方法常用的BlockingQueueArrayBlockingQueue:DelayQueue:LinkedBlockingDeque:LinkedBlockingQueue:LinkedTransferQueue:PriorityBlockingQueue:SynchronousQueue:BlockingQueue简介BlockingQueue是Java并
世俗ˊ
·
2023-10-23 02:20
Java进阶篇
java
开发语言
Java进阶篇--
并发容器
之ThreadLocal
目录ThreadLocal的简介ThreadLocal的实现原理ThreadLocalMap详解Entry的数据结构set()方法getEntry()方法remove()方法ThreadLocal的应用场景ThreadLocal的简介ThreadLocal可以被理解为线程的本地变量。它提供了一种将变量与线程关联起来的机制,使得每个线程都可以拥有自己独立的变量副本,互不干扰。在多线程编程中通常解决线
世俗ˊ
·
2023-10-23 02:47
Java进阶篇
java
开发语言
Java并发编程
之synchronized原理
synchronized内置锁是一种对象锁(锁的是对象而非引用),作用粒度是对象,可以用来实现对临界资源的同步互斥访问,是可重入的。1.加锁的方式同步实例方法,锁是当前实例对象同步类方法,锁是当前类对象同步代码块,锁是括号里面的对象2.synchronized底层原理synchronized是基于JVM内置锁实现,通过内部对象Monitor(监视器锁)实现,基于进入与退出Monitor对象实现方法
逍遥白亦
·
2023-10-23 00:13
面试刷题16:synchronized和ReentrantLock的区别?
java并发编程
是程序员基本技能。我是李福春,我在准备面试,今天的题目是:synchronized和ReentrantLock的区别?
ElegantHedgehog
·
2023-10-22 20:29
技术
3.
Java并发编程
:
并发容器
之CopyOnWriteArrayList
从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的
并发容器
,它们是CopyOnWriteArra
未知的证明
·
2023-10-22 17:34
java编程学习:Java 多线程基础:进程和线程之由来
现在我们来讨论一点稍微难一点的问题:
Java并发编程
。当然,
Java并发编程
涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。
Python编程社区
·
2023-10-22 17:16
【JUC系列】
并发容器
之CopyOnWrite(CopyOnWriteArrayList、CopyOnWriteArraySet)
CopyOnWrite文章目录CopyOnWriteCopyOnWriteArrayList核心组成内部类-迭代器COWIterator成员变量构造函数核心方法**booleanadd(Ee)****addIfAbsent(Ee,Object[]snapshot)****remove(intindex)****set(intindex,Eelement)**Arrays.copyOf方法Syste
顧棟
·
2023-10-22 12:30
#
多线程与并发
JAVA
java
java并发编程
并发容器
_
java并发编程
之-JUC
并发容器
的使用-Go语言中文社区
在Java5.0提供了java.util.concurrent(简称JUC)并发编程容器包,在此包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义子系统,包括线程池,异步IO和轻量级任务框架;还提供了设计用于多线程上下文中的Collection实现等我们拿其中常用的list容器来作为例子,进行高压(高并发测试),使用代码和JMter测试工具来分别测试线程安全问题1:使用代码展示lis
TOOP精选
·
2023-10-22 12:59
java并发编程并发容器
第三章JUC高
并发容器
JUC高
并发容器
ArrayList,LinkedList,HashMap都是线程非安全的;Vector,Stack,HashTable,SynchronizedList都是通过Synchronized内置锁实现同步
黑魔仙 小月
·
2023-10-22 12:59
多线程
java
JUC
并发容器
--CopyOnWriteArrayList
JUC
并发容器
--CopyOnWriteArrayList原理缺陷常用API应用场景CopyOnWriteArraySetCopyOnWriteArrayList是Java中的一种线程安全的List,它是一个可变的数组
稻草人ZZ
·
2023-10-22 12:58
#
JUC
java
JUC-6.2-
并发容器
-CopyOnWriteArrayList
再来看看并发安全的ArrayList,就是CopyOnWriteArrayList,早期的版本中有Vector和SynchronizedList但是这两个锁的粒度太大,所以并发效率并不高,Copy-On-Write
并发容器
还包括
呵呵呵1112
·
2023-10-22 12:28
java
rust
python
002-多线程-JUC集合-List-CopyOnWriteArrayList
一、概述CopyOnWriteArrayList是Java并发包中提供的一个
并发容器
,它是个线程安全且读操作无锁的ArrayList,写操作则通过创建底层数组的新副本来实现,是一种读写分离的并发策略,我们也可以称这种容器为
dilv4062
·
2023-10-22 12:25
java
数据结构与算法
JAVA并发编程
---CopyOnWriteArrayList
CopyOnWriteArrayList就是最常说的写时复制容器,虽然在项目中使用场景不是很多但是某些特定环境下会得到不错的性能提升。简单来说它的原理就跟名字一样写时复制,当我们往一个容器添加元素的时候,并不会不直操作容器进行修改,而是先将当前容器进行Copy,复制出一个容器的副本,然后在赋值出的这个容器上进行修改,修改完成之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOnW
chihaihai
·
2023-10-22 12:24
java并发编程
java
多线程
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他