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
JUC学习进阶
【
JUC
】ThreadLocal
文章目录1.概述2.使用3.Thread、ThreadLocal和ThreadLocalMap4.内存泄露问题4.1为什么源代码用弱引用?4.2内存泄露再分析5.最佳实践6.小总结1.概述ThreadLocal提供线程局部变量。这些变量与正常的变量不同,因为每一个线程在访问ThreadLocal实例的时候(通过其get或set方法)都有自己的、独立初始化的变量副本。ThreadLocal实例通常是
比尔高特
·
2023-10-16 11:56
#
03
JUC
java
JUC
并发编程:Monitor和对象结构
JUC
并发编程:Monitor和对象结构1.Monitor1.1对象的结构1.1.1MarkWord1.1.2KlassWord1.1.3数组长度1.1.41.MonitorMonitor官方文档我们可以把
boy快快长大
·
2023-10-16 05:38
Java并发编程
java
10分钟搞定 Java 并发队列好吗?好的
youdoNOTunderstanditwellenough现陆续将Demo代码和技术文章整理在一起Github实践精选,方便大家阅读查看,本文同样收录在此,觉得不错,还请Star前言如果按照用途与特性进行粗略的划分,
JUC
日拱一兵
·
2023-10-16 03:04
JUC
并发编程——读写锁(基于狂神说的学习笔记)
读写锁以下来自官方文档ReadWriteLock维护一对关联的locks,一个用于只读操作,另一个用于写入。只要没有写入器,readlock可以由多个读取器线程同时保持。writelock是独家的。所有ReadWriteLock实现必须保证writeLock操作的内存同步效果(如Lock接口中所指定)也相对于关联的readLock。也就是说,成功获取读锁定的线程将看到在先前释放写锁定时所做的所有更
苏三有春
·
2023-10-15 15:45
JUC并发编程
学习
笔记
java
JUC
并发编程——阻塞队列(基于狂神说的学习笔记)
阻塞队列顾名思义:当写入时:如果队列满了,则必须阻塞等待当读取时,如果队列为空,则必须阻塞等待BlockingQueueList、Set、BlockingQueue同级,都继承于Collection,且BlockingQueue下级有ArrayBlockingQueue以及LinkBlockingQueue,即BlockingQueue有两种表达形式,数组型以及链表型什么情况下我们会使用阻塞队列:
苏三有春
·
2023-10-15 15:37
JUC并发编程
学习
笔记
java
Java多线程系列--【
JUC
集合05】- ConcurrentSkipListMap
参考:http://www.cnblogs.com/skywang12345/p/3498556.html概要本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍。内容包括:ConcurrentSkipListMap介绍ConcurrentSkipListMap原理和数据结构ConcurrentSkipListMap函数列表Concurre
ImportNewXXT0101
·
2023-10-15 14:09
Java多线程系列--“
JUC
集合”05之 ConcurrentSkipListMap
概要本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍。内容包括:ConcurrentSkipListMap介绍ConcurrentSkipListMap原理和数据结构ConcurrentSkipListMap函数列表ConcurrentSkipListMap源码分析(JDK1.7.0_40版本)ConcurrentSkipListMap
NullPointerExcept
·
2023-10-15 14:37
JAVA并发编程
java
多线程
【
JUC
】JMM
文章目录1.概述2.三大特性2.1可见性2.2原子性2.3有序性3.多线程对变量的读写过程4.先行发生原则(happens-before)1.概述CPU的运行并不是直接操作内存而是先把内存里边的数据读到缓存,而内存的读和写操作的时候就会造成不一致的问题JVM规范中试图定义一种Java内存模型(javaMemoryModel,简称JMM)来屏献掉各种硬件和操作系统的内存访问差异以实现让Java程序在
比尔高特
·
2023-10-15 13:02
#
03
JUC
java
【
JUC
】线程通信与等待唤醒机制
文章目录1.线程通信2.Object类中的wait和notify方法实现等待和唤醒3.Condition接口中的await和signal方法实现等待和唤醒4.LockSupport实现等待和唤醒4.1优点1.线程通信多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同,于是这些线程之间就存在通信问题,称为线程间通信。比如:生产者消费者问题。当多个线程间存在通信问题时,我们希望它们能有规律
比尔高特
·
2023-10-15 12:55
#
03
JUC
java
3月21日日更
给自己定了每月的
学习进阶
计划,相信自己一定可以提高。
樱花树下的单车
·
2023-10-15 11:48
Java开发,参数类型如何选?int, Integer, AtomicInteger?
概述int是基础的变量类型;Integer是包装类型;AtomicInteger是来自
JUC
的一个在并发编程场景下重要的包,对于Java开发人员来说,确实需要对其都有充分的认识与了解。
小智Chris
·
2023-10-15 11:04
Java
面试
银行
java
开发语言
多线程&
JUC
文章目录多线程一.什么是多线程二.多线程的两个概念三.线程的实现方式四.常见的成员方法五.线程安全的问题六.死锁七.生产者和消费者多线程一.什么是多线程进程:是程序的基本执行实体理解:每一个运行的软件就是一个进程线程:是操做系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位理解:应用软件中互相独立,可以同时运行的功能为什么要有多线程?有了多线程就可以让程序同时做多件事情可以
懒羊羊asd
·
2023-10-15 09:27
java入门笔记
java
多线程
【
JUC
】CompletableFuture
文章目录1.Future接口2.CompletableFuture的出现3.CompletableFuture四大静态方法4.使用演示5.常用方法5.1获得结果和触发计算5.2对计算结果进行处理5.3对计算结果进行消费5.4对计算速度进行选用5.5对计算结果进行合并1.Future接口Future接口(FutureTask实现类)定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消任务的
比尔高特
·
2023-10-15 07:14
#
03
JUC
java
【
JUC
】中断机制(interrupt,interrupted,isInterrupted)
中断机制文章目录中断机制1.概述2.三大方法3.中断运行中的线程的方式1.概述首先一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,自己来决定自己的命运。所以Thread.stop,Thread.suspend,Thread.resume都已经被废弃了其次在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,如取消一个耗时操作。因此,Java提供了一种用于停止线程的
比尔高特
·
2023-10-15 07:08
#
03
JUC
java
理论:第八章:线程是什么,有几种实现方式,它们之间的区别是什么,线程池实现原理,
JUC
并发包,ThreadLocal与Lock和Synchronize区别
什么是线程?讲个故事给你听,让你没法去背这个题,地址:https://blog.csdn.net/java_wxid/article/details/94131223有几种实现方式?继承Thread类实现Runnable接口实现Callable接口线程池方式优缺点1.继承Thread类优点、代码简单。缺点、该类无法集成别的类。2.实现Runnable接口优点、继承其他类。同一实现该接口的实例可以共
我是廖志伟
·
2023-10-15 02:39
#
理论知识
java
多线程
JUC
并发
JUC
第二十八讲:
JUC
工具类: Semaphore详解
JUC
工具类:Semaphore详解本文是
JUC
第二十八讲,
JUC
工具类:Semaphore详解。Semaphore底层是基于AbstractQueuedSynchronizer来实现的。
程序员 jet_qi
·
2023-10-15 00:53
java基础之多线程
JUC
Semaphore
AQS
计数信号量
令牌
JUC
第二十九讲:
JUC
工具类: Phaser详解
JUC
工具类:Phaser详解本文是
JUC
第二十九讲,
JUC
工具类:Phaser详解。
程序员 jet_qi
·
2023-10-15 00:12
java基础之多线程
JUC
Phaser
同步辅助类
运行机制
实现原理
源码分析
黄聪:buffer overflow detected问题解决及gcc-4.1安装
gcc-4.1安装办法(转载自http://www.cnblogs.com/n
juc
slzh/archive/2010/06/04/1751703.html)由于学习的原因
weixin_34304013
·
2023-10-14 23:55
数据库
buffer overflow detected问题解决及gcc-4.1安装
gcc-4.1安装办法(转载自http://www.cnblogs.com/n
juc
slzh/archive/2010/06/04/1751703.html)由于学习的原因
iteye_20755
·
2023-10-14 23:51
c/c++
数据库
JUC
并发编程——集合类不安全及Callable(基于狂神说的学习笔记)
集合类不安全List不安全packageunsafe;importPC.A;importjava.util.*;importjava.util.concurrent.CopyOnWriteArrayList;//ArrayList线程不安全,在多线程下使用ArrayList会报错://java.util.ConcurrentModificationException并发修改异常publicclas
苏三有春
·
2023-10-14 18:14
JUC并发编程
学习
笔记
java
JUC
并发编程——常用的辅助类(基于狂神说的学习笔记)
常用的辅助类countDownLatch减法计数器本质上是等待一系列线程完成它的任务的计数工具允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。使用给定计数初始化CountDownLatch。所述await种方法阻塞,直到当前计数达到零由于的调用countDown()方法,之后所有等待的线程被释放和任何后续调用await立即返回。这是一次性现象-计数无法重置。如果您需要重置计数的
苏三有春
·
2023-10-14 18:10
JUC并发编程
学习
笔记
java
第13章 并发编程高阶(二)
参考答案1、底层实现层面synchronized是JVM层面的锁,是Java关键字reentrantlock是
JUC
下面的一个类,是java实现的2、是否可手动释放syn
Eclipse_2019
·
2023-10-14 14:24
白话Java面试
java
开发语言
多线程
高并发
Tomcat
学习进阶
历程之http协议
Tomcat作为一个Web应用服务器,最主要的当然就是向客户(浏览器)响应请求的数据,最常用的也就是使用HTTP协议来完成于客户的交互。所以在进一步学习Tomcat前还是再巩固一下HTTP协议的知识。HTTP协议(HyperTextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速
狮子爱睡觉
·
2023-10-14 12:35
TOMCAT进阶历程
Tomcat
jsp_web
TOMCAT进阶历程
Tomcat
http协议
web应用
Web容器
【干货】教你如何通过Netty编写一个SS代理服务器
准备本文假设读者具备以下知识:熟悉Java网络编程(了解BIO/NIO)与多线程编程(了解
JUC
中的常用工具)熟悉Netty网络编程框架熟悉Socks5代理协议、SSL加密通信开发环境:JDK1.8IntellijIDEA
A__Plus
·
2023-10-14 12:55
JUC
之ForkJoin并行处理框架
ForkJoin并行处理框架Fork/Join它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。类似于mapreduce其实,在Java8中引入的并行流计算,内部就是采用的ForkJoinPool来实现的。•ForkJoinTask:我们要使用Fork/Join框架,首先需要创建一个ForkJoin任务。该类提供了在任务中执行fork和join的机
Chancezhou
·
2023-10-14 09:22
JUC
java
JUC
之ReentrantReadWriteLock
读写锁现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。针对这种场景,JAVA的并发包提供了读写锁ReentrantReadWriteLock,它表示两个锁,一个是读操作相关的锁,称为共享锁;一个
Chancezhou
·
2023-10-14 09:52
JUC
java
JUC
之BlockingQueue
常见的BlockingQueue9.4.1ArrayBlockingQueue(常用)基于数组的阻塞队列实现,在ArrayBlockingQueue内部,维护了一个定长数组,以便缓存队列中的数据对象,这是一个常用的阻塞队列,除了一个定长数组外,ArrayBlockingQueue内部还保存着两个整形变量,分别标识着队列的头部和尾部在数组中的位置。ArrayBlockingQueue在生产者放入数据
Chancezhou
·
2023-10-14 09:52
JUC
java
项目实战:使用
JUC
的CompletableFuture执行任务,并根据返回值执行异步回调
前言程序猿大吉在实施的威逼之下又有了新的需求,翻译成技术语言,大致是这样的:不停地调用一个远程接口(成千上万次)。该接口会返回一串id,并拿着这个id回写我们本地的数据库。这个远程接口响应时间特别久,大概要1到3s。而一旦接口返回一串id,并将id回写到本地数据库,这个过程比较短,只需要0.05s左右。所以我想到了将查询远程接口封装成一个函数,将回写本地数据库封装成一个函数,将异常处理封装成一个函
@大吉
·
2023-10-14 09:21
JavaSE
线程池
多线程
异步
回调函数
JUC
JUC
高并发编程之CompletableFuture
1、Future和Callable接口Future接口定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。Callable接口中定义了需要有返回的任务需要实现的方法为什么使用异步任务?当主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,过了一会才去获取子任务的执行结果。2、Futur
HEU_THY
·
2023-10-14 09:50
java
JUC
-CompletableFuture异步回调
1.无返回值的runAsync异步回调2.有返回值的supplyAsync异步回调publicclassCompletableFuture_{publicstaticvoidmain(String[]args)throwsException{//没有返回值的异步回调runAsync()CompletableFuturecompletableFuture1=CompletableFuture.run
知之为知
·
2023-10-14 09:50
Java
java
java
juc
之CompletableFuture
supplyAsync/runAsync开启任务thenComposeAsync连接任务thenCombineAsync合并任务一、创建异步任务@Testpublicvoidtest4()throwsException{ExecutorServiceexecutorService=Executors.newFixedThreadPool(5);//supplyAsync相当于ExecutorSer
死亡蔓延
·
2023-10-14 09:20
java本身
java
JUC
之 CompletableFuture
——CompletableFutureFutureFuture接口(FutureTask实现类)定义了操作异步任务执行的一些方法,如获取异步的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕例如:主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,忙其他事情或者先执行完,过了一会才去获取子任务的执行结果或变更的任务状态Future接
程序少年不秃头
·
2023-10-14 09:20
Java
java
jvm
开发语言
JUC
并发编程之CompletableFuture基础用法
目录实现多线程的四种方式方式一:继承Thread类方式二:实现Runnable接口方式三:实现Callable接口方式四:线程池创建异步对象回调方法handle方法线程串行化任务组合组合任务单任务完成及执行实现多线程的四种方式方式一:继承Thread类publicstaticclassThread01extendsThread{@Overridepublicvoidrun(){}}执行任务方式:T
算不出来没办法
·
2023-10-14 09:19
java
java
开发语言
Java ---
JUC
的CompletableFuture的使用
目录一、Future接口二、Future接口的功能三、FutureTask四、CompletableFuture背景及使用4.1、CompletionStage4.2、CompletableFuture4.3、四个静态方法4.4、减少阻塞和轮询4.5、使用CompletableFuture完成电商大比价五、CompletableFuture常用API5.1、获取结果5.2、主动触发计算5.3、对计
鸭鸭老板
·
2023-10-14 09:17
JUC
面试
java
开发语言
JUC
-CompletableFuture的常用方法
1.获得结果和触发计算2.对计算结果进行处理thenApply()和handle()的区别就是异常的处理方式不同publicstaticvoidmain(String[]args){Integerresult=CompletableFuture.supplyAsync(()->{return1;},executor).thenApply((f->{returnf+2;})).thenApply(f
花哥码天下
·
2023-10-14 09:16
多线程
java
JUC
-CompletableFuture
FutureTaskpublicstaticvoidmain(String[]args)throwsException{FutureTaskfutureTask=newFutureTask{System.out.println(Thread.currentThread().getName()+"comein");try{TimeUnit.SECONDS.sleep(5);}catch(Interr
花哥码天下
·
2023-10-14 09:46
面试
多线程
java
JUC
学习:CompletableFuture概念与实战
在一些简单的业务场景使用Future创建异步任务是完全足够的。当业务场景比较复杂时,推荐使用CompletableFuture。CompletableFuture同时实现了Future、CompletionStage两个接口。CompletionStage代表异步计算过程的某一个阶段,一个阶段完成后则会触发另一个阶段。一、CompletableFuture与Future的对比1.获取异步任务的结果
哇库哇库wakuwaku
·
2023-10-14 09:46
JUC高并发编程
学习
java
spring
JUC
之 completableFuture
前身Future作用定义了操作异步任务执行的一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务执行是否完毕等。专门用来为主线程处理耗时的任务特点多线程有返回值异步处理实现类FutureTask代码示例publicclassFutureThread{publicstaticvoidmain(String[]args)throwsExecutionException,InterruptedE
洋葱圈骑士
·
2023-10-14 09:45
java
jvm
前端
JUC
—CompletableFuture笔记
CompletableFuture笔记1.Future和Callable接口2.FutureTask3.引出CompletableFuture3.1CompletableFuture和CompletionStage介绍3.2核心的四个静态方法,来创建一个异步操作1)runAsync无返回值2)supplyAsync()有返回值3.3案例精讲-从电商网站的比价需求说开去3.4说说join和get对比
风过无痕2018
·
2023-10-14 09:44
JUC
java
开发语言
后端
【
JUC
】CompletableFuture超时处理 配置线程池
CompletableFuture简介使用方法代码简介: 项目中一个统计的业务场景,使用原生的CompletableFuture异步多个任务查询mysql数据,少量请求无问题,但是测试过程中大量请求进来,线程没有设置超时时间,导致大量线程处于等待状态,接口响应缓慢。 因此需要在原生的CompletableFuture中封装,使用自定义线程池、设置超时时间保证接口稳定性。使用方法: 工具类中主
脆皮大鸭子
·
2023-10-14 09:13
java
开发语言
JUC
之CompletableFuture
CompletableFutureCompletableFuture在Java里面被用于异步编程,异步通常意味着非阻塞,可以使得我们的任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是否异常等信息。publicclassCompletableFuture1{/***主线程里面创建一个CompletableFuture,然后主线程调用get方法会
Chancezhou
·
2023-10-14 09:11
JUC
java
java多线程-LongAdder
本文主要参考https://www.cnblogs.com/wang-meng/p/12892695.html阿里巴巴开发手册.pngAtomicLongAtomicLong是
juc
包下的原子类,对数据进行原子操作来保证并发情况下数据的安全性
马宁宁118
·
2023-10-14 09:10
结合
JUC
谈Springboot优雅停机
废话少说springboot的优雅停机是借助于ShutdownHook回调实现的(网上文章都说烂了)。在执行hook流程时,spring借助CountDownLatch阻塞线程达到在一定时间内不退出程序,来处理剩下的任务。原地址:https://juejin.cn/post/7197292579057221693发表在掘金,这次拿到csdn,书写格式可能不是很友好。涉及到的知识点SpringSma
Ns____
·
2023-10-14 06:11
spring
spring
boot
java
spring
JUC
——走进并发编程(java.util.concurrent)
什么是
JUC
它是java.util下的一个工具包concurrent,里面装着与并发编程相关的类等。
少歌
·
2023-10-14 01:10
JUC
并发编程
java
Java并发——1.
JUC
基础知识
1.1什么是
JUC
JUC
就是java.util.concurrent工具包的简称。这是一个处理线程的工具包,JDK1.5之后开始出现。
CodeStars码星人
·
2023-10-14 01:40
JAVA
并发
java
多线程
并发编程
jvm
编程语言
JUC
并发编程学习1:
JUC
概述、进程线程概述
什么是
JUC
JUC
就是工具类,java.util.concurent的缩写。用来开发并发编程的工具包。
JUC
是一个处理线程的工具包,JDK1.5开始出现的。
程序员洲洲
·
2023-10-13 22:25
Java
JAVA
java
juc
多线程
【
JUC
】CAS原理
CAS原理文章目录CAS原理1.概述2.原理3.Unsafe4.CAS与自旋锁1.概述compareandswap的缩写,中文翻译成比较并交换,实现并发算法时常用到的一种技术。它包含三个操作数一一内存位置、预期原值及更新值执行CAS操作的时候,将内存位置的值与预期原值比较:如果相匹配,那么处理器会自动将该位置值更新为新值;如果不匹配,处理器不做任何操作,多个线程同时执行CAS操作只有一个会成功CA
比尔高特
·
2023-10-13 22:25
#
03
JUC
java
【
JUC
】原子操作类及LongAddr源码分析
文章目录1.十八罗汉2.原子类再分类2.1基本类型原子类2.2数组类型原子类2.3引用类型原子类2.4对象的属性修改原子类2.5原子操作增强类3.代码演示及性能比较:4.LongAddr原理5.LongAddr源码分析5.1add()5.2longAccumulate()5.3sum()6.小总结6.1AtomicLong6.2LongAdder1.十八罗汉底层使用Unsafe类的CAS方法,而无
比尔高特
·
2023-10-13 22:25
#
03
JUC
java
JUC
基础-C1-
JUC
概述&线程基础
文章目录1
JUC
概述&线程基础1.1什么是
JUC
1.2线程和进程基础1.2.1进程和线程1.2.2线程的状态1.2.3wait和sleep异同1.2.4并发和并行1.2.5管程/Monitor1.2.6
雫#1999
·
2023-10-13 22:54
c1
java
JUC
基础之---线程基础(一)
一、多线程概述1、进程:正在进行中的程序2、线程:就是进程中一个负责程序执行的控制单元(执行路径)一个进程中,可以有多个执行路径,即多线程一个进程中,至少有一个执行路径。(多线程其实就是多个线程中的快速切换)二、多线程的创建方式①--继承Thread类继承Thread类,重写run方法1、JVM创建的主线程的任务都定义在了主函数中2、Thread类中的run方法就是封装自定义线程任务的函数,即ru
倚书依杖听河流
·
2023-10-13 22:54
java
多线程
编程语言
多进程
设计模式
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
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
其他