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
技术人员该读什么书?--- 并发编程篇
本期推荐1、《
Java并发编程
实战》推荐理由:这本书被誉为被誉为
Java并发编程
的圣经,本书深入浅出地介绍了Java线
·
2023-09-02 18:14
后端
技术人员该读什么书?--- 并发编程篇
本期推荐1、《
Java并发编程
实战》推荐理由:这本书被誉为被誉为
Java并发编程
的圣经,本书深入浅出地介绍了Java线
·
2023-09-02 18:43
后端
【
JUC
基础】
JUC
入门基础(二)
目录异步回调JMM理解对volatile的理解1、保证可见性2、不保证原子性3、禁止指令重排对JMM的理解详解单例模式饿汉式懒汉式DCL懒汉式:双重检测锁模式的懒汉式单例静态内部类实现单例通过反射破坏单例,修改后的DCL饿汉式枚举实现单例防止反射破坏理解CAS(compareAndSwap)CAS出现的ABA问题理解ABA问题解决ABA问题(带版本号的原子操作、乐观锁思想)公平锁,非公平锁可重入锁
Koma_zhe
·
2023-09-02 12:55
Java相关
#
面试八股
#
Java语法及相关知识
java
juc
JUC
常用并发工具类
JUC
常用并发工具类1、什么是
JUC
?
JUC
就是java.util.concurrent包,这个包俗称
JUC
,里面都是解决并发问题的一些东西,该包的位置位于java下面的rt.jar包下面。
242030
·
2023-09-02 06:07
java
java
Android volatile 原理。
在《
Java并发编程
:核心理论》一文中,我们已经提到可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchonized原理有了解的话,应该知道
ZSGZ_AD
·
2023-09-01 20:03
JUC
工具类: Exchanger详解
JUC
工具类:Exchanger详解Exchanger是用于线程协作的工具类,主要用于两个线程之间的数据交换。
栀子`
·
2023-09-01 18:29
Java
多线程与并发
面试
java并发编程
(二)-- 用户线程和内核线程
什么是线程现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。现代操作系统调度CPU的最小单元是线程,也叫轻量级进程(LightWeightProcess),在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。线程的实现可
胡志强
·
2023-09-01 16:22
zookeeper锁问题
zookeeper公平锁改进,是通过排队的方式,每个客户端只监听一个节点变化,这不会影响zookeeper正常工作然后我们就想到公平锁与非公平锁对于非公平锁,他这里是要通知的客户端多,争抢的也多,而对于
juc
risc123456
·
2023-09-01 00:48
java
Java并发编程
的简单理解
目录文章目录目录前言概念一、关于高并发大流量二、扩展1、Scale-up2、Scale-out缓存异步总结前言高并发系统的演进应该是循序渐进,以解决系统中存在的问题为目的和驱动力的。所以并不是所有的并发系统设计都要追求高流量,电商对其淘宝那种,IM对齐微信概念并发:同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程交替得换入或者换出内存,这些线程是同时“存在”的,每个线程都处于执行过程
依嘫_吃代码
·
2023-08-31 23:34
java高级
java
Java 并发编程
Java并发编程
一、线程创建1.1继承Thread类1.2实现Runnable接口1.3实现Callable接口二、线程方法三、线程同步3.1锁3.1.1synchronized同步代码块同步方法3.1.2ReentrantLock3.1.3StampedLock3.2
呦,又写BUG呢
·
2023-08-31 20:08
Java
java
多线程
并发编程 | JMM、volitle、CAS
本文是
juc
专题视频的笔记哔哩哔哩尚硅谷
juc
专题p56-p79中间跳过了一些native方法的讲解,比如UnSafe类,还有读写屏障(就是内存屏障)没听清的点是:为啥volitle不是原子性的+8个happens-before
w_3123454
·
2023-08-31 19:00
并发编程
java
并发编程
JUC
并发编程详细讲解
目录
JUC
并发编程(1.Java线程)
JUC
并发编程(2.Java线程)
JUC
并发编程(3.Java线程)
JUC
并发编程(4.Java线程)
JUC
并发编程(5.Java线程)
JUC
并发编程(6.Java
Smile sea breeze
·
2023-08-31 19:30
知识点合集
java
数据库
服务器
juc
并发编程02——JMM模型
我们在这篇文章中将介绍JMM模型,也就是java内存模型。注意,本文所提到的JMM模型与JVM内存模型属于不同层次的内容。JVM内存模型讲的是物理内存空间的分配,而JMM则强调对于JVM内存模型的抽象。1.java内存模型在计算机中,为了解决主内存的速度跟不上处理器速度的问题,我们给每个处理器添加一级或多级高速缓存(如下图)。但是,每个处理器上缓存的数据如何保证一致性呢?为了实现缓存数据的一致性,
半旧518
·
2023-08-31 19:57
juc
java
【漫画】
JAVA并发编程
三大Bug源头(可见性、原子性、有序性)
原创声明:本文转载自公众号【胖滚猪学编程】某日,胖滚猪写的代码导致了一个生产bug,奋战到凌晨三点依旧没有解决问题。胖滚熊一看,只用了一个volatile就解决了。并告知胖滚猪,这是并发编程导致的坑。这让胖滚猪坚定了要学好并发编程的决心。。于是,开始了我们并发编程的第一课。序幕con2BUG源头之一:可见性刚刚我们说到,CPU缓存可以提高程序性能,但缓存也是造成BUG源头之一,因为缓存可以导致可见
胖滚猪学编程
·
2023-08-31 13:23
jvm与锁
今天是《面霸的自我修养》的第二弹,内容是
Java并发编程
中关于Java内存模型(JavaMemoryModel)和锁的基础理论相关的问题。
瞬间的醒悟
·
2023-08-31 12:29
java面试
python
开发语言
Java多线程进阶知识梳理(上)
目录1.什么是
JUC
并发编程2.线程和进程3.Lock(锁)4.生产者和消费者5.集合线程不安全6.Callable接口7.常用辅助类(必须会)7.1.CountDownLatch(减法计数器)7.2.
彼岸花@开
·
2023-08-31 11:56
多线程
JAVA多线程进阶篇 9、
JUC
工具类之LockSupport
文章目录1.LockSupport的使用示例总结LockSupport实现了线程A控制线程B的阻塞与唤醒。如果要实现线程阻塞,一般需要使用锁对象,LockSupport不需要锁可以直接阻塞住线程。如果要实现线程唤醒,以前都是notify或者notifyall方法,但是这样会把锁对象上的所有线程都唤醒,无法精准控制换醒哪个线程。LockSupport可以实现精准唤醒。1.LockSupport的使用
悟空学编程
·
2023-08-31 11:54
JAVA多线程进阶篇
java
开发语言
JAVA多线程进阶篇 8、
JUC
同步器之Exchanger
文章目录1.Exchanger的应用场景2.Exchanger的使用示例一3.Exchanger的使用示例二总结
JUC
即java.util.concurrent包,提供了大量的工具类来简化并发编程。
悟空学编程
·
2023-08-31 11:24
JAVA多线程进阶篇
java
开发语言
后端
linux
【Java】多线程(进阶)
多线程进阶常见的所策略乐观锁和悲观锁重量级锁和轻量级锁自旋锁和挂起等待锁自旋锁挂起等待锁读写锁和互斥锁读写锁互斥锁公平锁和非公平锁公平锁非公平锁可重入锁和不可重入锁可重入锁不可重入锁CASCAS应用实现原子类实现自旋锁CAS的ABA问题synchronized原理基本特点加锁工作过程偏向锁轻量级锁重量级锁其他的优化操作锁消除锁粗化
JUC
沉着的码农
·
2023-08-31 11:23
Java
java
python
linux
JavaSE(四)
详细知识点可以点击标题超链接一、多线程&
JUC
并发与并行多线程的三种实现方式第一种继承Thread类第二种实现Runnable接口第三种实现Callable接口对比常用方法基础优先级守护线程礼让线程(了解
( ̄(工) ̄)霸天下
·
2023-08-31 10:08
Java
java
开发语言
【
juc
】读写锁ReentrantReadWriteLock
目录一、说明二、读读不互斥2.1代码示例2.2截图示例三、读写互斥3.1代码示例3.2截图示例四、写写互斥4.1代码示例4.2截图示例五、注意事项5.2.1代码示例5.2.2截图示例一、说明1.当读操作远远高于写操作时,使用读写锁让读读可以并发,来提高性能2.类似于数据库中的select…from…lockinsharemode3.提供一个数据容器类,内部分别使用读锁保护数据的read()方法,写
王佑辉
·
2023-08-30 10:27
juc
juc
JUC
并发编程--------基础篇
一、多线程的相关知识栈与栈帧我们都知道JVM中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟机就会为其分配一块栈内存。每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法线程上下文切换上下文切换可以更详细地描述为内核(即操作系统的核心)对CPU上的进程(包括线程)执行以下活动:1.暂停一个进
Promise_J_Z
·
2023-08-30 05:54
JAVA---并发编程
java
[Java]重学Java-原子类
JUC
包下的原子类
JUC
就是大名鼎鼎的java并发包,我们今天来看看基于非阻塞性算法的CAS封装的原子类.
JUC
下有AtomicInteger、AtomicLong、AtomicBoolean等类,UML
AbstractCulture
·
2023-08-30 04:45
java的wait_一文秒懂 Java wait() 和 notify() 方法
本文,我们来讲解下Java并发中的基础的基础,核心的核心,
Java并发编程
中的最基本的机制之一-「线程同步」为了方便你理解并发编程中的各种概念和术语,我们首先会来一阵扫盲,讨论一些基本的并发相关术语和方法
蒋张琦
·
2023-08-29 16:22
java的wait
从源码全面解析 Java SPI 的来龙去脉
作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、
JUC
源码系列
爱敲代码的小黄
·
2023-08-29 15:11
#
dubbo
java
开发语言
面试
后端
SPI
JAVA多线程-集合类线程不安全问题
ArrayList线程不安全案例package
JUC
;importjava.util.ArrayList;importjava.util.List;importjava.util.UUID;/***@authorzhaolimin
Noblegasesgoo
·
2023-08-29 12:36
JAVA学习
JAVA八股文
java
开发语言
juc
多线程
线程安全
JUC
高并发编程
目录一、
JUC
简介什么是
JUC
进程和线程的概念进程状态wait()/sleep()的区别并发与并行管程用户线程和守护线程二、Lock接口三、线程间通信四、集合的线程安全五、多线程锁锁的八个问题公平锁和非公平锁可重入锁
lemon很酸
·
2023-08-29 05:45
java
开发语言
后端
《尚硅谷高级技术之
JUC
高并发编程》09——阻塞队列
文章目录01BlockingQueue简介02BlockingQueue核心方法BlockingQueue的核心方法03常见的BlockingQueueArrayBlockingQueue(常用)LinkedBlockingQueue(常用)DelayQueuePriorityBlockingQueueSynchronousQueueLinkedTransferQueueLinkedBlockin
知识焦虑症患者
·
2023-08-29 05:44
juc
JUC
并发编程——深入了解synchronized关键字
目录一、引言二、synchronized的使用三、Synchronized如何保证线程安全四、锁优化Java对象结构64位虚拟机MarkWord组成无锁、偏向锁、轻量级锁、重量级锁五、Synchronized与ReentrantLock一、引言在Java中线程同步使用synchronized关键字,每个java对象都有一把隐含的锁,称为Java内置锁或者对象锁。二、synchronized的使用p
熟透的蜗牛
·
2023-08-29 05:14
JUC
JUC
并发编程
synchronized
JUC
并发编程——ThreadLocal
目录一、什么是ThreadLocal二、ThreadLocal的使用三、ThreadLocal源码分析四、ThreadLocal导致内存泄漏一、什么是ThreadLocalThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。当线程结束后,每个线程所拥有的那个本地值会被释放。在多线程并发操作“线程本地变量"的时候,
熟透的蜗牛
·
2023-08-29 05:14
JUC
源码分析
JUC
并发编程
ThreadLocal
《尚硅谷高级技术之
JUC
高并发编程》学习笔记07——
JUC
三大辅助类
文章目录减少计数:CountDownLatch循环栅栏CyclicBarrier信号灯Semaphore总结
JUC
中提供了三种常用的辅助类,通过这些辅助类可以很好的解决线程数量过多时Lock锁的频繁操作
知识焦虑症患者
·
2023-08-29 05:14
juc
JUC
并发编程——锁
目录1、自旋锁和自适应锁2、轻量级锁和重量级锁轻量级锁加锁过程轻量级锁解锁过程3、偏向锁4、可重入锁和不可重入锁5、悲观锁和乐观锁6、公平锁和非公平锁7、共享锁和独占锁8、可中断锁和不可中断锁当多个线程访问一个对象时,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那么这个对象就是线程安全的。但是
熟透的蜗牛
·
2023-08-29 05:44
JUC
JUC
多线程
锁
【
JUC
高并发编程】—— 初见
JUC
一、
JUC
概述什么是
JUC
JUC
是
Java并发编程
的缩写,指的是Java.util.concurrent即Java工具集下的并发编程库【说白了就是处理线程的工具包】
JUC
提供了一套并发编程工具,这些工具是
Bow.贾斯汀
·
2023-08-29 05:44
Java并发编程
java
jvm
面试
juc
多线程
Java——
JUC
并发编程
文章目录1、什么是
JUC
2、线程和进程3、Lock锁3.2、Synchronized和Lock区别4、生产者和消费者的问题4.1、Synchronized版4.1.2、问题纯在(A,B,CD)4个线程!
小吴在敲Bug
·
2023-08-29 05:43
Java笔记
juc
java
JUC
——并发容器BlockingQueue数据共享通道源码解析
文章目录1:BlockingQueue数据共享通道介绍2:BlockingQueue的用处3:BlockingQueue的核心方法4:BlockingQueue工作机制——源码解析5:BlockingQueue实现生产者消费者模式1:BlockingQueue数据共享通道介绍对于并发程序而言,高性能自然是个我们需要追求的目标,但多线程的开发模式还会引入一个问题,那就是如何进行多个线程间的数据共享呢
福建选手阿俊
·
2023-08-29 05:13
Java高并发
java
队列
并发编程
juc
JUC
——并发容器ConcurrentLinkedQueue源码解读
文章目录1:ConcurrentLinkedQueue的介绍1.1初始化分析1.2入队列分析1.3出队列情况分析1.4队列判空分析1.5updateHead方法分析2:使用debug进行源码分析1:ConcurrentLinkedQueue的介绍ConcurrentLinkedQueue的实现原理:是基于CAS,通过head/ail指针记录队列头部和尾部。首先,它是一个单向链表,定义如下。publ
福建选手阿俊
·
2023-08-29 05:13
Java高并发
juc
并发编程
源码
高级技术之
JUC
高并发编程
高级技术之
JUC
高并发编程课程内容概览1、什么是
JUC
2、Lock接口3、线程间通信4、集合的线程安全5、多线程锁6、Callable接口7、
JUC
三大辅助类:CountDownLatchCyclicBarrierSemaphore8
@Ransw
·
2023-08-29 05:42
javaSE
java
尚硅谷
JUC
高并发编程学习笔记(1)
JUC
简介与Lock接口
一、什么是
JUC
1、
JUC
简介在Java中,线程部分是一个重点,本篇文章说的
JUC
也是关于线程的。
JUC
就是java.util.concurrent工具包的简称。
exodus3
·
2023-08-29 05:42
多线程并发
java
开发语言
后端
JUC
——并发编程—第一部分
准备工作搞一个空的Maven项目确保这里lambda这里是8版本.javac这里也改成是81.什么是
JUC
()
JUC
全称是JavautilConcurrent.java里面的三个包。
北岭山脚鼠鼠
·
2023-08-29 05:41
JVM+JUC
java
开发语言
Java并发机制的底层实现原理-对应
Java并发编程
的艺术第二章
volatile被volatile修饰的共享变量进行写操作的时候,字节码中会出现一个Lock前缀的指令。volatile的两条实现原则1、Lock前缀指令会引起处理器缓存会写到内存2、处理器缓存回写到内存会导致其他处理器的缓存无效这里其实就是缓存一致性协议的体现。volatile的优化追加字节的方式synchronized锁的对象分为三种:1、普通同步方法而言,锁是当前实例对象2、静态同步方法而言
于无声处写写写
·
2023-08-29 04:47
5个案例和流程图让你从0到1搞懂volatile关键字
volatile随着硬件的提升,机器的核心数从曾经的单核变为多核,为了提升机器的利用率,现在的并发编程变得越来越重要,成为工作中、面试中的重中之重,而为了能够更好的理解、使用并发编程,就应该构建出自己的
Java
菜菜的后端私房菜
·
2023-08-29 02:15
Java并发编程
java
面试
JUC
之玩转Condition
每期总结一个小的知识点和相关面试题,嘿嘿,又来和大家共同学习了。GUC中有个类我们用的比较少,但是他确是很多类中不可或缺的成员。他就是Condition。从字面意思理解就是条件,那条件的话就有trueorfalse。那Condition是起到一个多线程共享标识位执行阻塞的作用,true的时候通过,false的时候等待。1、Condition的使用通过下面的一个代码可以看出来如何使用它。//thre
猿必过
·
2023-08-29 01:31
Java并发编程
并发编程线程前言进程与线程串行与并行同步与异步创建与线程运行方法一:直接newThread方法二:Runnable配合Thread方法三:FutureTask配合Thread原理之Thread与Runnable的关系原理之线程运行线程上下文切换(ThreadContextSwitch)常见方法interrupt方法详解模式之两阶段终止主线程与守护线程线程生命周期线程间转换共享模型之线程管理Sync
Neoooo、
·
2023-08-28 18:19
一
Java基础
java
spring
boot
jvm
【
java并发编程
的艺术读书笔记】Lock接口简介、Condition类的使用、可重入锁与读写锁
Lock接口简介Lock接口是用于实现线程同步的一种机制。它提供了比传统的synchronized关键字更灵活和可扩展的方式来管理多个线程对共享资源的访问。Lock接口的主要目标是解决synchronized关键字的一些限制,例如无法中断正在等待锁的线程、不能尝试获取锁而立即放弃等待、不能在等待一段时间后获取锁等等。Lock的特性Lock接口中的常用方法voidlock():获取锁,如果锁不可用,
Ez4Sterben
·
2023-08-28 16:34
读书笔记
java
开发语言
并发编程
Lock
可重入锁
读写锁
Condition
【
java并发编程
的艺术读书笔记】ConcurrentHashMap是如何保证线程安全的
ConcurrentHashMapHashMap的线程安全问题并发环境下HashMap可能会导致程序死循环,原因是put操作可能会使得HashMap中的链表结构成环,导致无法找到next节点,无限循环HashTable为什么效率低HashMap是使用synchronized来保证县城安全的,如果并发量非常高,那么会触发synchronized锁升级机制,成为重量级锁,性能严重降低Concurren
Ez4Sterben
·
2023-08-28 16:34
读书笔记
java
开发语言
HashMap
并发编程
Concurrent
分段锁
【
java并发编程
的艺术读书笔记】java中的并发工具类(CountDownLatch、CyclicBarrier、Semaphore、Exchanger)
CountDownLatchCountDownLatch允许一个或多个线程等待其他线程完成操作。CountDownLatch的构造函数接收一个int类型的参数作为计数器,如果你想等待N个点完成,这里就传入N。CountDownLatchc=newCountDownLatch(2);join用于让当前执行线程等待join线程执行结束。其实现原理是不停检查join线程是否存活,如果join线程存活则让
Ez4Sterben
·
2023-08-28 16:04
读书笔记
java
并发工具类
CountDownLatch
CyclicBarrier
Semaphore
Exchanger
并发编程
【
java并发编程
的艺术读书笔记】AQS队列同步器简介、实现自定义锁
AQS介绍AQS(AbstractQueuedSynchronizer)是Java并发包(java.util.concurrent)中一个重要的基础类,用于实现同步器(Synchronizer)的框架。AQS提供了一种基于FIFO等待队列的机制,使得开发者可以相对容易地实现各种自定义的同步组件,例如锁、信号量、倒计时门栓等。AQS主要是一个抽象类,它定义了一些基本的同步操作,而具体的同步逻辑需要子
Ez4Sterben
·
2023-08-28 16:31
读书笔记
java
开发语言
并发编程
AQS
自定义锁
JUC
工具类-LockSupport概述
前言多线程并发场景中,时常需要线程协同,故而需要对当前线程进行阻塞,并唤醒需要协同的线程来一起完成任务。通常处理方式有三种:1)Synchronized加锁的线程使用Object类下所提供的方法:wait():让当前线程处于等待状态,并释放当前拥有的锁;notify():随机唤醒等待该锁的其他线程,重新获取锁,并执行后续的流程,只能唤醒一个线程;notifyAll():唤醒所有等待该锁的线程(锁只
静看º一季花开花落
·
2023-08-28 15:43
多线程与线程并发
java
AbstractQueuedSynchronizer(AQS)抽丝剥茧深入了解
JUC
框架原理
[TOC]简介AQS(AbstractQueuedSynchronizer)是并发开发中一个基础组件。主要实现了同步状态管理、线程队列管理、线程等待、线程唤醒等底层操作。JDK中许多的并发类都是依赖AQS的。ReentrantLock(可重入锁)、Semaphore(信号量)、CountDownLatch(计数器)。Lock简单实用介绍原理前我们简单来看看Lock使用。publicstaticvo
zxhtom
·
2023-08-28 12:30
【30天熟悉Go语言】11 数组的全方位使用与解析
SpringCloud源码系列(含:Ribbon、Feign)、Nacos源码系列、RocketMQ源码系列、SpringCloudGateway使用到源码分析系列、分布式事务Seata使用到源码分析系列、
JUC
秃秃爱健身
·
2023-08-28 11:54
#
30天熟悉GO语言
golang
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他