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
Semaphore学习一
一、定义是
JUC
包下的一个工具类,我们可以通过其限制执行的线程数量,达到限流的效果。
CopyLower
·
2024-01-16 05:03
Java
学习
学习
开发语言
Java进阶 —— 多线程并发
前言在系统学完Java的面向对象编程之后,我们需要认真地来学习
Java并发
编程,我们在学习计算机操作系统的时候也都了解过进程、线程和协程的概念。
荔枝当大佬
·
2024-01-16 03:30
Java开发
java
多线程
并发
线程池
java并发
编程——多线程
本章主要介绍java中多线程并发编程基础知识,包括的内容有:进程,线程,协程的区别多线程的实现方式线程中断和优先级线程状态的切换一、进程、线程和协程1.1进程、线程和协程进程是资源分配的最小单位,操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源)。进程拥有自己独立的堆和栈,既不共享堆,也不共享栈。线程是CPU调度的最小单位,线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,共
西木风落
·
2024-01-16 03:57
Java基础知识巩固
java
多线程
高并发
JAVA并发
编程——多线程
目录线程的特点轻型实体独立调度和分配的基本单位可并发执行共享进程资源线程的实现使用内核线程实现使用用户线程实现使用用户线程加轻量级线程混合实现Java线程实现每日寄语线程的特点在多线程操作系统中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性。轻型实体线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实
别活在过去i
·
2024-01-16 03:27
JAVA并发编程的艺术
java
jvm
开发语言
JAVA并发
编程-从ReentrantLock看AQS实现源码解读
ReentrantLock的构造方法//默认非公平锁publicReentrantLock(){sync=newNonfairSync();}//指定publicReentrantLock(booleanfair){sync=fair?newFairSync():newNonfairSync();}ReentrantLock的加锁流程执行ReentrantLock的lock方法publicvoid
coder_sheep
·
2024-01-15 17:13
并发编程
java
数据结构
链表
jvm
JAVA并发
编程-AQS底层实现原理及应用(二)
JAVA并发
编程-AQS底层实现原理及应用(一)CANCELLED状态节点生成acquireQueued方法中的Finally代码:finalbooleanacquireQueued(finalNodenode
coder_sheep
·
2024-01-15 17:13
并发编程
java
算法
开发语言
数据结构
JAVA并发
编程-AQS底层实现原理及应用(一)
前言Java中的大部分同步类(CountDownLatch,Semaphore,CyclicBarrier、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本篇不讲述包含共享锁和ConditionQueue的部分。一、开发一个自定义Lock锁public
coder_sheep
·
2024-01-15 16:43
并发编程
java
开发语言
spring
boot
后端
ide
JAVA 多线程与高并发学习笔记(十三)——
JUC
显式锁
显式锁Lock接口Lock接口位于java.util.concurrent.locks包中,是
JUC
显式锁的一个抽象,主要抽象方法如下表。方法说明voidlo
简单一点点
·
2024-01-15 16:57
JVM实战(13)——JVM优化概述
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介本章,我们先来对系统运行过程中可能会遇到的各种JVM性能问题作个
smart哥
·
2024-01-15 11:08
jvm专题
jvm
JVM实战(14)——Young GC调优
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介本章,我们还是以案例驱动的方式讲解YoungGC调优,之前在基础
smart哥
·
2024-01-15 11:08
jvm专题
jvm
JUC
之锁
乐观锁和悲观锁悲观锁当一个线程在操作资源的时候,会悲观的任务有其他的线程会来抢占该资源,因此会在操作资源前进行加锁,避免其他线程抢占。Synchronized关键字和Lock实现类就是悲观锁。显示的锁定资源后再对资源进行操作。使用场景:适合写操作多的场景。先加锁能够保证写操作时数据正确本质:加锁去操作同步资源。乐观锁当一个线程去操作资源的时候,会乐观的任务其他线程不会来抢占资源,因此不会加锁。ja
--believe
·
2024-01-15 10:33
JUC
开发语言
juc
阿里P8纯手码
Java并发
编程核心原理笔记
并发编程并发编程这四个字想必大家最近都在网上看到过有很多的帖子在讨论。我们都知道并发编程可选择的方式有多进程、多线程和多协程。在Java中,并发就是多线程模式。而多线程编程也一直是一个被广泛而深入讨论的领域。如果遇到复杂的多线程编程场景,大多数情况下我们就需要站在巨人的肩膀上利用并发编程框架——JDKConcurrent包来解决相关线程问题。Concurrent包很复杂吗?相信很多人对于Concu
架构师谢俞
·
2024-01-15 00:41
【JAVA】谈谈 ReadWriteLock 和 StampedLock
Java并发
包中提供了ReadWriteLock和StampedLock两种灵
还在路上的秃头
·
2024-01-15 00:05
JAVA
java
开发语言
面试
笔记
【
JUC
进阶】14. TransmittableThreadLocal
目录1、前言2、TransmittableThreadLocal2.1、使用场景2.2、基本使用3、实现原理4、小结1、前言书接上回《【
JUC
进阶】13.InheritableThreadLocal》,
有一只柴犬
·
2024-01-14 19:57
JUC进阶
java
后端
netty(T-io)详解(包含4种io模型详解)
Netty(T-io),Redis、zookeeper、高性能http组件(Nginx)、
java并发
编程组件(
JUC
包)工作两年以后,必须熟练掌握。2、netty框架N
Dark_Code
·
2024-01-14 19:24
netty
T-io
java
java
开发语言
Java并发
- 线程安全类探索
1.简单设置线程安全类设计车辆追踪器,获取车辆位置和更新车辆位置信息(坐标x,y)展示显示化大屏版本一非线程安全车辆对象【不可变】(MutablePoint)线程安全车辆容器//非线程安全publicclassMutablePoint{publicintx,y;publicMutablePoint(){this.x=0;this.y=0;}publicMutablePoint(MutablePoi
--土拨鼠--
·
2024-01-14 13:08
Java
java
python
开发语言
Java并发
- 原子类
CAS原子操作CAS(CompareandSwap)是一种并发算法,通常用于实现多线程环境下的同步操作,特别是在并发编程中实现无锁算法。CAS操作涉及三个参数:内存位置(V)、期望值(A)和新值(B)。操作的意义是:仅当V的值等于A时,才将V的值更新为B。整个操作是原子的,不会被其他线程中断。下面是CAS的基本原理:读取内存值(V):线程首先读取共享变量的当前值(V)。比较并交换(Comparea
--土拨鼠--
·
2024-01-14 13:08
Java
java
jvm
开发语言
Java并发
- synchronized关键字
synchronized关键字在Java中的主要作用是确保多线程环境下对共享资源的安全访问,避免出现竞态条件和数据不一致的问题。它的主要意义包括以下几个方面:保证原子性:synchronized关键字能够确保被它修饰的方法或代码块在同一时刻只能被一个线程执行。解决竞态条件:使用synchronized关键字可以防止竞态条件的发生,确保对共享资源的操作按照预期的顺序执行。实现线程间通信:synchr
--土拨鼠--
·
2024-01-14 13:07
Java
java
开发语言
Java并发
- volatile关键字
volatile是Java中的关键字,主要用于确保多线程环境下共享变量的可见性、禁止指令重排序以及一些轻量级的同步操作。1.volatile的作用详解可见性:当一个线程对volatile变量进行写操作时,这个变量的新值会立即被刷新到主内存,而不是在线程本地缓存中等待一段时间。当其他线程需要读取这个变量时,它会从主内存中重新加载,而不是使用线程本地缓存中的值。禁止指令重排序:volatile关键字禁
--土拨鼠--
·
2024-01-14 13:07
Java
java
jvm
开发语言
Java并发
- 线程基础
1.程序&线程定义:程序(Process):一个程序是一个独立的执行单元,它包含了代码、数据、和系统资源的集合。每个程序都运行在自己独立的内存空间中,互相之间不直接共享内存。线程(Thread):线程是程序的执行流程,是操作系统调度的最小单元。一个程序可以包含多个线程,它们共享程序的内存空间和资源。资源分配:程序(Process):每个程序有独立的内存空间和系统资源,包括文件句柄、网络连接等。程序
--土拨鼠--
·
2024-01-14 13:37
Java
java
开发语言
Java并发
- LockSupport详解
LockSupport是
Java并发
包(java.util.concurrent)中的一个工具类,用于实现线程的阻塞和唤醒操作。
--土拨鼠--
·
2024-01-14 13:57
Java
java
开发语言
【Java】多线程与
JUC
JUC
是什么?
加文格罗夫斯
·
2024-01-14 13:50
Java
java
开发语言
java-ArrayBlockingQueue详解
在
Java并发
编程中,ArrayBlockingQueue是一个非常常用的工具类。它是一个由数组支持的有界阻塞队列,提供了线程安全的队列操作。
一杯可乐、
·
2024-01-14 10:17
多线程
java
常用Java代码-Java中的并发集合(ConcurrentHashMap、CopyOnWriteArrayList等)
1.ConcurrentHashMapConcurrentHashMap是
Java并发
包java.util.concurrent中的一个类,它提供了线程安全的Map实现。与Hashtabl
crmeb服务商-肥仔全栈开发
·
2024-01-14 08:08
java
windows
JVM基础(11)——G1垃圾回收器
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介经过前面章节的讲解,大家应该对ParNew+CMS这个GC组合的
smart哥
·
2024-01-14 06:43
jvm专题
jvm
JVM基础(12)——G1调优
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介本章和下一章,我们将通过一个实际案例来讲解如何针对G1进行JVM
smart哥
·
2024-01-14 06:43
jvm专题
jvm
JVM基础(10)——老年代调优
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介上一章中,我们通过一个实际案例讲解了如何进行新生代的JVM参数调
smart哥
·
2024-01-14 06:41
jvm专题
jvm
Java学习笔记(十一)——
JUC
并发编程(超详细)
线程和进程进程:一个程序的集合,一个进程至少包含一个线程;Java默认有两个进程,main、GC线程:一个进程某个功能由线程负责对于Java而言Thread、Runnable、Callable真的可以开启线程吗?开不了,通过本地方法native()调用并发和并行并发编程:并发、并行,本质是充分利用CPU的资源并发:多线程操作同一个资源并行:多个线程同时执行;线程池线程有几个状态?publicenu
星辰引路-Lefan
·
2024-01-14 06:07
Java
java
JUC
之CompletableFuture
Future接口理论Future接口定义了异步任务执行的一些方法,包括异步任务执行结果,异步任务执行是否中断,异步任务是否完毕等。Future接口常用实现类FutureTask异步任务FutureTaskfutureTask=newFutureTask(()->{System.out.println(Thread.currentThread().getName()+"\t-----comein")
--believe
·
2024-01-14 05:16
JUC
java
数据库
linux
easyexcel 3.0.x 版本实现指定列 锁定以及指定列隐藏
1:效果示例2:代码示例:UnLockCell.javapackagecom.example.
juc
.zhujie;/***@Author*@DateCreatedin2023/12/1910:09*@
夏林夕
·
2024-01-14 00:29
SpringBoot
java
开发语言
多线程设计模式-Guarded Suspension模式
GuardedSuspension设计模式是很多设计模式的基础,比如生产者消费者模式,同样在
Java并发
包中的BlockingQueue中也大量使用到了GuardedSuspension设计模式。
zjyfree
·
2024-01-13 16:13
设计模式
java
前端
Java---
JUC
并发篇(多线程详细版)
Java---多线程1.并发基础(线程篇)1.1java线程状态及线程状态之间的转化1.2操作系统层面有5种状态2.线程池的核心参数(7个核心参数)2.1线程池参数介绍2.2代码实现2.3handler4种拒绝策略3.sleep与wait方法对比3.1异同点3.2代码展示4.lock锁与synchronized锁区别4.1异同点4.2代码实现5.volatile能否保证线程安全5.1什么是线程安全
Panda_Java
·
2024-01-13 15:16
Java并发编程
Java面经
多线程
Java多线程并发之同步容器和并发容器-第一篇
本文是《凯哥分享
Java并发
编程之J.U.C包讲解》系列教程中的第五篇。如果想系统学习,凯哥(kaigejava)建议从第一篇开始看。从本篇开始,我们就来讲解讲解Java的并发容器。大致思路:先介
tomfyyds
·
2024-01-13 14:46
程序员
java
java程序
java
经验分享
apache
开发语言
c语言
JAVA并发
-Semaphore
案例/***@authorqhong*@date2019/12/1310:59*https://www.cnblogs.com/dolphin0520/p/3920397.html*信号量*一个工厂有5台机器,但是有8个工人,一台机器同时只能被一个工人使用,只有使用完了,其他工人才能继续使用**/publicclassSemaphoreDemo{publicstaticvoidmain(Strin
hongdada
·
2024-01-13 06:08
Java并发
Condition 详解
1.引言在
Java并发
编程中,线程间的协作是一个核心话题。为了实现线程间的协作,Java提供了多种机制,其中等待/通知机制是最常见的一种。
一杯可乐、
·
2024-01-13 04:05
多线程
java
JUC
之Phaser的使用
Phaser是并发包
juc
.concurrent包下的一个关于线程同步和线程通信的一个工具类,类似于CountDownLanch和CyclicBarrier,不同的是Phaser可以用来根据步骤,等待线程按步骤同时触发执行
7柒丶
·
2024-01-13 02:24
Java
java
如果面试也能这样说HashMap,那么就不会有那么多遗憾!
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:Spring源码、
JUC
源码如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:源码溯源
爱吃芝士的土豆倪
·
2024-01-13 02:14
Java基础
面试
java
hashmap
Spring原理-8.通知调用
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:Spring原理、
JUC
原理、Kafka原理、分布式技术原理、数据库技术如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成
爱吃芝士的土豆倪
·
2024-01-13 02:13
Spring
spring
java
设计一个简易版的数据库路由
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:Spring原理、
JUC
原理、Kafka原理、分布式技术原理、数据库技术如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成
爱吃芝士的土豆倪
·
2024-01-13 02:12
解决方案与实现思路
数据库
数据库路由
分库分表
闲来无事,动手写一个本地缓存
学习
java并发
的时候,书上的例子是基于缓存展开的,于是就想可以写一个通用的本地缓存写在前面写一个缓存,需要考虑缓存底层存储结构、缓存过期、缓存失效、并发读写等问题,因此自己动手写的本地缓存将围绕这几点进行设计缓存失效缓存失效指的是缓存过期了
何甜甜在吗
·
2024-01-13 00:13
CyclicBarrier和CountDownLatch的区别?
`CyclicBarrier`和`CountDownLatch`都是
Java并发
工具类,用于协调多个线程的同步操作,但它们之间有一些关键的区别。
郭梓航
·
2024-01-12 20:55
CyclicBarrier
CountDownLatch
什么是AQS?
AQS(AbstractQueuedSynchronizer)是
Java并发
包中用于构建同步器的框架。
郭梓航
·
2024-01-12 20:55
AQS
Semaphore
Semaphore是
Java并发
包中的一个同步工具,用于控制同时访问特定资源的线程数量。它维护了一个许可证(permit)计数,线程在获取资源时需要消耗一个许可证,在释放资源时会释放一个许可证。
郭梓航
·
2024-01-12 20:55
算法
Semaphore
JVM基础(8)——CMS垃圾回收器
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介理想情况下,我们都希望自己的系统能在每次MinorGC后,存活对
smart哥
·
2024-01-12 19:48
jvm专题
jvm
JVM基础(9)——新生代调优
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介本章和下一章,我们将通过一个实际案例讲解如何进行JVM参数调优:
smart哥
·
2024-01-12 19:48
jvm专题
jvm
JVM基础(7)——ParNew垃圾回收器
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介ParNew是目前最常用的JVM垃圾回收器之一,主要应用在新生代
smart哥
·
2024-01-12 19:17
jvm专题
jvm
JVM基础(6)——JVM垃圾回收器简介
阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入
juc
源码解析阶段4、深入jdk其余源码解析阶段5、深入jvm源码解析一、简介在新生代和老年代进行垃圾回收的时候,都需要使用回收器进行回收,不
smart哥
·
2024-01-12 19:13
jvm专题
jvm
【
JUC
】进程和线程
目录什么是进程?什么是线程?进程和线程的区别?Java线程和操作系统的线程有啥区别?️JDK21的虚拟线程虚拟线程和平台线程的对比什么是进程?进程是程序的一次执行过程,是系统运行程序的基本单位。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在Java中,当我们启动main函数时其实就是启动了一个JVM的进程,而main函数所在的线程就是这个进程中的一个线程,也称主线程。如下图所示,在Win
孤寒_imbzz
·
2024-01-12 18:25
JUC并发编程
JUC
java
JUC
并发编程-线程基础知识复习
为什么学多线程(硬件层面):摩尔定律(元器件数量提高,性能提高)失效,在cpu主频不再提高且核数增多的情况下,想让程序更快就要用到并行或者并发编程。(软件层面):充分利用多核CPU的性能,提高程序的性能。(多线程带来的问题):线程安全性问题Java多线程的相关概念(1把锁,2个并,3个程)1把锁synchronized关键字2个并并发(concurrent):宏观上一个CPU同时处理多个任务。实质
--believe
·
2024-01-12 17:48
JUC
第四周
1.Algorithm:leetcode01https://www.jianshu.com/p/e80d1e9e860c2.Review:看了
Java并发
的一些内容,明天整理上传3.Tip:gitadd
衣锦昼行
·
2024-01-12 17:21
上一页
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
其他