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并发编程
保证线程安全的三种方式
分析问题: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
这可能是最全面的
Java并发编程
八股文了
内容摘自我的学习网站:topjavaer.cn分享50道Java并发高频面试题。线程池线程池:一个管理线程的池子。为什么平时都是使用线程池创建线程,直接new一个线程不好吗?嗯,手动创建线程有两个缺点不受控风险频繁创建开销大为什么不受控?系统资源有限,每个人针对不同业务都可以手动创建线程,并且创建线程没有统一标准,比如创建的线程有没有名字等。当系统运行起来,所有线程都在抢占资源,毫无规则,混乱场面
大彬聊编程
·
2024-01-16 23:14
分享
java
开发语言
面试
Java并发编程
的艺术-Java内存模型
基础共享变量(堆空间中所有的实例域,静态域,数组元素)的访问需要同步,而局部变量不会在线程间共享,所以不存在可见性问题。每一个线程都有一个私有的本地内存(抽象概念)源代码到最终的指令序列执行需经过编译器重排序和处理器重排序JMM要求java编译器在生成指令序列时,插入特定的内存屏障以禁止特定类型的处理器重排序。重排序重排序时遵守数据依赖性(写后读,读后写,写后写)as-if-serial语义:不管
油多坏不了菜
·
2024-01-16 21:56
Java内置锁:深度解析lock和trylock
定义在Java11中,Lock接口是
Java并发编程
中一个重要的接口,它提供了更灵活的线程同步机制,相比于内置的synchronized关键
程序员古德
·
2024-01-16 19:50
java
python
开发语言
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
阿里P8纯手码
Java并发编程
核心原理笔记
并发编程并发编程这四个字想必大家最近都在网上看到过有很多的帖子在讨论。我们都知道并发编程可选择的方式有多进程、多线程和多协程。在Java中,并发就是多线程模式。而多线程编程也一直是一个被广泛而深入讨论的领域。如果遇到复杂的多线程编程场景,大多数情况下我们就需要站在巨人的肩膀上利用并发编程框架——JDKConcurrent包来解决相关线程问题。Concurrent包很复杂吗?相信很多人对于Concu
架构师谢俞
·
2024-01-15 00:41
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-ArrayBlockingQueue详解
在
Java并发编程
中,ArrayBlockingQueue是一个非常常用的工具类。它是一个由数组支持的有界阻塞队列,提供了线程安全的队列操作。
一杯可乐、
·
2024-01-14 10:17
多线程
java
Java多线程并发之同步容器和并发容器-第一篇
本文是《凯哥分享
Java并发编程
之J.U.C包讲解》系列教程中的第五篇。如果想系统学习,凯哥(kaigejava)建议从第一篇开始看。从本篇开始,我们就来讲解讲解Java的并发容器。大致思路:先介
tomfyyds
·
2024-01-13 14:46
程序员
java
java程序
java
经验分享
apache
开发语言
c语言
Java并发Condition 详解
1.引言在
Java并发编程
中,线程间的协作是一个核心话题。为了实现线程间的协作,Java提供了多种机制,其中等待/通知机制是最常见的一种。
一杯可乐、
·
2024-01-13 04:05
多线程
java
Java并发编程
——伪共享和缓存行问题
在
Java并发编程
中,伪共享(FalseSharing)和缓存行(CacheLine)是与多线程访问共享数据相关的两个重要概念。
ByeDark
·
2024-01-12 10:10
Java
java
缓存
springboot 多数据源怎么配置在控制台的sql打印日志
最近整理了一波电子书籍资料,包含《EffectiveJava中文版第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《
Java并发编程
实战》等等获取方式:关注公众号并回复电子书领取
飞乐鸟
·
2024-01-11 21:16
mybatis
spring
boot
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
其他