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并发编程
(JavaConcurrency)是指在Java程序中同时进行多个任务的一种编程方式。
星光不问赶路人-
·
2024-02-02 12:14
并发
JUC
java并发编程
基础(四)
Java中的锁1.Lock接口锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程访问共享资源。在lock接口出现之前,java程序依靠synchroized关键字实现锁的功能,Loc接口拥有了获取锁与释放锁的可操作性,可中断的获取锁。packagecn.smallmartial.concurrency;importjava.util.concurrent.locks.Reen
smallmartial
·
2024-02-02 08:21
关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
前言在
Java并发编程
中,我们通常使用到synchronized、Lock这两个线程锁,Java中的锁,只能保证对同一个JVM中的线程有效。而在分布式集群环境,这个时候我们就需要使用到分布式锁。
前程有光
·
2024-02-01 16:57
Java并发编程
之阻塞队列
1.什么是阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来
逍遥白亦
·
2024-01-31 22:24
学习笔记: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
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
Java并发编程
面试题
基础知识点进程我们自己写的程序,也就是所谓的用户程序是由操作系统来管理的,人们把一个执行着的程序叫做一个进程(英文名:Process),每个进程都有这么两个特点:1.资源所有权程序在运行过程中需要一定的资源,比如内存、I/O啥的,这些东西不能在不同进程间共享,假如一个进程占了另一个进程的内存,那另一个进程的数据不就丢失了么;一个进程正在使用打印机输出东西,另一个进程也使用的话,不就尴尬了么。所以进
余甘不甘
·
2024-01-29 17:42
并发
Java学习
java
jvm
开发语言
Java并发编程
:synchronized锁升级过程
锁的状态有四种,级别从高到低分别为:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这个锁的状态会随着并发激烈情况逐渐升级,锁的状态升级但不能降级。引入这些状态时为了减少获得锁和释放锁带来的性能消耗。对象锁的状态是存在对象头的MarkWord中的。1、偏向锁状态(无竞争、或竞争很少)经过研究表明,大多数情况下,锁不仅不存在多线程竞争,而且大多数都是由同一个线程多次获得,这种情况下如果没有线程和线
日上三杆快起床
·
2024-01-28 22:13
java
开发语言
并发
Golang中make与new有何区别
本文收录于go进阶系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中,
过去日记
·
2024-01-27 09:50
go进阶
golang
开发语言
Java集合相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-27 09:45
java面试题
java
开发语言
Java 集合List相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-25 16:41
java面试题
java
list
【揭秘】Executor和ExecutorService区别?
Executor和ExecutorService都是
Java并发编程
中的重要概念,两者都用于异步地执行任务,但是它们之间存在一些重要的区别:设计目标:Executor:设计目标是提供一个简单的、统一的、
程序员古德
·
2024-01-25 16:10
java
开发语言
Java 集合Map相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-25 16:09
java面试题
java
开发语言
Java并发编程
之并发集合
一、ConcurrentHashMap(是线程高效并安全的hashMap)1.hashMap的底层原理HashMap在JDK1.8之前的实现方式数组+链表,但是在JDK1.8后对HashMap进行了底层优化,改为了由数组+链表或者数值+红黑树实现,主要的目的是提高查找效率Hashcode他是根据数组的长度进行一个按位与运算和亦或运算另外通过平方取中法取余法伪随机数法都可以得到hashcode二次哈
学习中的程序媛~
·
2024-01-25 10:31
java
开发语言
保证线程安全的三种方式
分析问题:4w1h:whatwherewhywhenhow摘要:1,什么是线程安全2,如何保证线程安全3,线程安全的三种实现方式具体实现4,总结1,我们来看一下什么是线程安全参考《
Java并发编程
实践》
Y阳阳
·
2024-01-25 02:33
Java基础
java
多线程
《
Java并发编程
的艺术》2 第九章 Java中的线程池
文章目录第九章、Java中的线程池1.线程池的实现原理2.线程池的参数3.向线程池提交任务3.1execute()3.2submit()3.3实战4.关闭线程池5.合理分配线程池6.线程池的监控第九章、Java中的线程池Java中的线程池时运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。合理地使用线程池能带来三个好处:**降低资源消耗。**通过重复利用已创建的线程降低
HotRabbit.
·
2024-01-24 23:51
#
JUC
java
开发语言
多线程
线程池
【
Java并发编程
的艺术学习】第九章摘要
1.线程池的好处1)降低资源消耗2)提高响应速度3)提高线程的可管理性2.创建线程池的参数有哪些?有什么作用1)corePoolSize(线程池的基本大小):当提交一个任务到线程池时,线程池会创建一个线程来执行任务,即使其他空闲的基本线程能够执行新任务也会创建线程,等到需要执行的任务数大于线程池基本大小时就不再创建。如果调用了线程池的prestartAllCoreThreads()方法,线程池会提
一日三餐384
·
2024-01-24 23:21
java
学习
开发语言
Java 并发编程的艺术 pdf 下载
并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《
Java并发编程
的艺术》是他们多年一线开发经验的结晶。
Java全栈布道师
·
2024-01-24 23:21
java
并发编程
Nginx反向代理
本文收录于Nginx系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-24 16:23
Nginx
nginx
运维
MySQL面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-24 16:22
java面试题
mysql
数据库
Java框架篇面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-24 16:50
java面试题
java
开发语言
【JAVA】
Java并发编程
中的锁升级机制
个人博客:个人主页个人专栏:JAVA⛳️功不唐捐,玉汝于成目录前言正文四个级别锁锁升级的过程:偏向锁升级为轻量级锁:轻量级锁升级为重量级锁:结语我的其他博客前言在多线程环境下,保障数据的安全性是至关重要的任务之一。Java提供了丰富的并发编程工具,其中锁机制是保障共享资源同步访问的关键。本文将深入探讨Java中锁的升级过程,从无锁状态到偏向锁、轻量级锁,再到重量级锁,揭示了其背后的原理与实现。正文
还在路上的秃头
·
2024-01-23 23:38
JAVA
java
开发语言
面试
笔记
【
Java并发编程
的艺术学习】第四章摘要补全
压栈:拷贝一个方法压入栈1.线程的状态新建,就绪,运行,等待,阻塞,死亡2.一个类里可以定义多个类,但是只能有一个是public类的3.进入等待队列的进程要是没人唤醒,那么会一直等待,不会执行4.wait和sleep的区别都是立刻让出CPUwait:释放cpu,释放锁sleep:不释放锁,其他线程没有资格执行5.如何查看线程信息jstack命令6.线程间的通信:内存中共享变量7.notify()以
一日三餐384
·
2024-01-23 23:06
java
学习
开发语言
【
Java并发编程
的艺术学习】第七,八章摘要
原子更新基本类型类1.原子操作类:多线程下的操作是安全的,不需要自己加锁2.在原子类中不能用+-*/,而是采用这些方法AtomicBoolean:原子更新布尔型AtomicInteger:原子更新整形AtomicLong:原子更新长整型AtomicIntegerArray:原子更新整型数组里的元素AtomicLongArray:原子更新长整型数组里的元素AtomicReferenceArray:原
一日三餐384
·
2024-01-23 23:36
java
学习
开发语言
【
Java并发编程
的艺术学习】第六章摘要补全(待修)
6.1ConcurrentHashMap实现原理与使用1.hashmap实现原理1.7版本:数组+链表。用的是头插法,所以会出现多线程的时候产生环1.8版本:数组+链表+红黑树。链表长度>8变红黑树,<6变链表。出现碰撞用的是尾插法2.currenthashmap实现原理1.7版本:采用锁机制,在对某个子hash进行操作时,将该Segment锁定,不允许对其进行非查询操作,想对HashEntry操
一日三餐384
·
2024-01-23 23:35
java
学习
开发语言
【
Java并发编程
的艺术学习】第五章摘要补全
1.finally作用:担心一些资源可能无法正常释放,使用finally释放资源2.ReentrainLock释放死锁,使用这个接口,这样就不会产生死锁Locklock=newReentrainLock();lock.lock();try{}finally{lock.unlock();}3.重入锁支持重新进入的锁,表示该锁能够支持一个线程对资源的重复加锁。除此之外,该锁还支持获取锁时的公平和非公平
一日三餐384
·
2024-01-23 23:35
java
学习
开发语言
图文解析volatile和synchronized区别
之前写了几篇
Java并发编程
的系列文章,有个朋友微群里问我,还是不能理解volatile和synchronized二者的区别,他的问题主要可以归纳为这几个:volatile与synchronized在处理哪些问题是相对等价的
Bfmall
·
2024-01-23 10:08
Java并发编程
-Future系列之Future的介绍和基本用法
多线程(Multithreading)是Java的一个特性,它可以允许一个程序的多个部分(也就是线程)并发地执行,以达到最大程度利用CPU的目的。关于多线程编程(MultithreadProgramming),下面介绍一下Future的特性和基本用法。dogs_multithread_programmingAboutFutureFuture(java.util.concurrentInterfac
西召
·
2024-01-23 06:53
Redis相关面试题大全
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发编程
系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-23 01:28
java面试题
redis
spring
数据库
Java并发编程
总结02_线程间通讯
1、使用volatile和synchronized关键字Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是拥有一份拷贝,这样做的目的是加速程序的执行,这也是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。volatilevolatile修饰字段(
qizhi_wang
·
2024-01-22 14:22
1-《
Java并发编程
实战》(Java Concurrency in Practice) 代码示例
背景最近在学习
Java并发编程
方面的知识,我的学习的路线是:先学习了JVM,然后再学的JUC。
太自由
·
2024-01-22 09:20
java
Java并发编程
JUC
线程安全性
Java并发编程实战
多线程
2-《
Java并发编程
实战》(Java Concurrency in Practice) 代码示例
说明这是针对《
Java并发编程
实战》(JavaConcurrencyinPractice)一书中的示例代码进行扩展,并且进行验证的完整代码,具体背景可看这篇文章:1-《
Java并发编程
实战》(JavaConcurrencyinPractice
太自由
·
2024-01-22 09:20
java
并发编程
JUC
多线程
[AIGC] 深入理解
Java并发编程
:从入门到进阶
深入理解
Java并发编程
:从入门到进阶引言在计算机领域中,针对多核处理器的高并发需求,
Java并发编程
成为了一项重要的技能。
程序员三木
·
2024-01-22 01:57
AI
java
AIGC
开发语言
java并发编程
面试题
java并发编程
面试题何为进程?何为线程?JVM拓展为什么程序计数器、虚拟机栈和本地方法栈是线程私有的呢?为什么堆和方法区是线程共享的呢虚拟机栈和本地方法栈为什么是私有的?
yujkss
·
2024-01-21 09:42
java
开发语言
【一文详解】Java多线程和并发知识点详细总结【万字总结】
Java并发编程
并发编程的三个特性原子性一次操作或者多次操作,要么所有的操作全部都得到执行并且不会受到任何因素的干扰而中断,要么都不执行。
Carson's blog
·
2024-01-21 06:29
javaSE
java
多线程
并发
java-ee
经验分享
知识总结
分布式定时任务系列8:XXL-job源码分析之远程调用
任务执行引擎设计续分布式定时任务系列5:XXL-job中blockingQueue的应用分布式定时任务系列6:XXL-job触发日志过大引发的CPU告警分布式定时任务系列7:XXL-job源码分析之任务触发
Java
kobe_t
·
2024-01-20 20:36
#
分布式调度
xxl-job
Java并发编程
: 常用的分布式锁总结
一、基于MySQL的分布式锁主要利用到了MySQL中select+forupdate操作来达到互斥的效果。publicstaticTlockWithMutex(StringlockName,DataSourcedataSource,Callablerunnable)throwsException{Connectionconnection=null;booleanautoCommit=false;P
玉成226
·
2024-01-20 11:16
【Java并发编程】
java
分布式
深入解析Java中synchronized:从原理到锁升级及历史演进
在
Java并发编程
中,synchronized关键字是一种非常重要的同步机制,用于控制多个线程对共享资源的访问。
地瓜伯伯
·
2024-01-20 07:10
源码
java
jvm
spring
cloud
微服务
面试
算法
spring
蚂蚁Java互联网架构师第1期高端
教程目录├─0001-多线程快速入门.zip├─0002-多线程之间实现同步.zip├─0003--多线程之间通讯.zip├─0004--
Java并发编程
.zip├─0005--数据交换格式与SpringIOC
飞雪雪团队
·
2024-01-19 13:05
Java并发编程
: 并发编程中的ExecutionException异常
一、什么是ExecutionException在并发编程中在执行java.util.concurrent.Future实现类的get方法时,需要捕获java.util.concurrent.ExecutionException这个异常。Future.get()方法通常是要获取任务的执行结果,当执行任务的过程中抛出了异常,就会产生ExecutionException异常。二、如何处理Executio
玉成226
·
2024-01-19 12:02
【Java并发编程】
java
网络
Java并发编程
: ExecutorCompletionService详解
一、什么场景下使用ExecutorCompletionService当在项目中我们向使用线程池处理任务时,在任务处理完成后想要的到返回值进而进行其他的逻辑处理,这个时候就可以使用ExecutorCompletionService类,任务执行完成后即可根据返回值进行其他的逻辑处理。使用提供的Executor执行任务的CompletionService。该类安排提交的任务在完成后放置在使用take可访
玉成226
·
2024-01-19 12:59
【Java并发编程】
java
Java并发编程
之Condition
1.前言任意一个Java对象,都有一组监视器方法(定义在java.lang.Object上),主要包括wait()、wait(longtimeout)、notify()以及notifyAll()方法,这些方法与synchronized同步关键字配合,可以实现等待/通知模式。Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式,但是这两者在使用方式以及功能
干天慈雨
·
2024-01-18 15:29
理解并使用ThreadLocal实现线程级别的数据隔离
目录前言正文ThreadLocal的基本用法实现原理使用场景泛型工具类示例注意事项总结前言在
Java并发编程
中,ThreadLocal是一个非常实用且重要的工具类,它提供了一种线程本地存储机制。
李少兄
·
2024-01-18 07:18
Java
java
jvm
开发语言
Java并发编程
(一)—— 内存模型(JMM)
文章目录1、什么是JMM?2、计算机内存架构3、缓存一致性问题4、指令重排序5、JMM内存模型5.1、JMM主内存和工作内存关系5.2、8个原子操作和8个执行规则5.2.1、8个原子操作5.2.2、8个执行规则5.3、JMM模型的线程间通信6、JMM解决的问题6.1、可见性6.1.1、定义6.1.2、可见性问题6.1.3、如何解决可见性问题6.2、原子性6.2.1、定义6.2.2、原子性问题6.2
有你的星空
·
2024-01-17 04:48
JMM
java线程
java
金三银四-解锁
Java并发编程
的艺术:掌握多线程、同步和并发控制的精髓
又要快到一年一度的金三银四,开始复习啦~!每天一点点。。目录一、Java中的volatile关键字有什么作用?二、解释Java中的synchronized关键字及其工作原理。三、Java中的CAS操作是什么?它如何实现无锁编程?四、讲述Java中的Lock接口及其与synchronized的区别五、什么是线程池?在Java中如何使用线程池?六、Java内存模型中的happens-before原则是
小贤java
·
2024-01-17 04:43
Java面试
Java
SE
java
开发语言
Java面试
金三银四
Java并发编程
学习笔记
浅析项目实践接触到的java并发线程池应用场景
文章目录前言场景一、营销场景-门店活动信息定时校验场景二、算法工程依赖-批量查询数据集总结前言最近研读《
java并发编程
之美》这本书8、9、11章关于线程池的部分,有很多新的收获,在此想结合项目经历,总结分析一下实践中对于线程池的应用场景
无一郎的技术圈
·
2024-01-17 02:36
java
后端
《
java并发编程
之美》学习笔记-知识盲点记录
文章目录@[TOC](文章目录)前言一、InheritableThreadLocal类(第一章1.11节)二、原子操作Adder与Accumulator(第四章)1.LongAdder2.LongAccumulator三、StampedLock锁(第六章)四、守护线程、伪共享、虚假唤醒(第一、二章)1.守护线程2.伪共享3.虚假唤醒4.Unsafe类与LockSupport五、Concurrent
无一郎的技术圈
·
2024-01-17 02:06
java
后端
Java并发编程
核心包——JUC
JUC初步作者:李晶晶;日期:2021年4月20日;学习视频:2020权威_juc与jvm并发编程Java必学_阳哥-尚硅谷文章目录JUC初步初识Lock抢票案例生产者消费者问题使用Lock解决生产者消费者问题Condition的精准唤醒轮流打印案例线程安全的集合类线程安全的List线程安全的Set线程安全的MapCallable接口Callable与FutureTaskJUC中的一些工具Coun
木子六日
·
2024-01-17 00:57
java
juc
可重入锁
lock
线程池
ThreadPool
上一页
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
其他