![](https://img-blog.csdnimg.cn/106cb14af733441590ae28d244b47640.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2023最详细JAVA并发编程JUC教程
文章平均质量分 91
2023最详细JAVA并发编程JUC教程
小薛博客
小薛博客官方账号
展开
-
一、JUC之线程基础(源码级别)
一、JUC之线程基础1、Java多线程相关概念1、进程2、线程3、管程4、线程状态?5、wait/sleep的区别?2、为什么多线程极其重要???3、从start一个线程说起4、用户线程和守护线程守护线程用户线程重点5、获得多线程的方法几种?6、Callable接口1、与runnable对比2、怎么用下一章:线程池 1、Java多线程相关概念 1、进程 是程序的⼀次执⾏,是系统进⾏资源分配和调度的独⽴单位,每⼀个进程都有它⾃⼰的内存空间和系统资源 2、线程 在同⼀个进程内⼜可以执⾏多个任务,⽽这每⼀个任务我原创 2021-11-11 11:26:24 · 588 阅读 · 0 评论 -
二、JUC之线程池
二、JUC之线程池1、为什么用线程池2、线程池的使用1、Executors.newFixedThreadPool(int)2、Executors.newSingleThreadExecutor()3、Executors.newCachedThreadPool()3、ThreadPoolExecutor底层原理4、拒绝策略?生产中如设置合理参数1、线程池的拒绝策略2、JDK内置的拒绝策略5、超级大坑 在工作中单一的/固定数的/可变的三种创建线程池的方法哪个用的多?6、自定义线程池7、BlockingQueue原创 2021-11-12 09:18:32 · 503 阅读 · 0 评论 -
三、CompletableFuture详解
三、CompletableFuture详解1、Future和Callable接口2、从之前的FutureTask开始code1code23、对Future的改进1、类CompletableFuture2、接口CompletionStage4、核心的四个静态方法1、runAsync 无 返回值2、supplyAsync 有 返回值3、Code 无 返回值4、Code 有 返回值5、Code 减少阻塞和轮询6、CompletableFuture的优点5、join和get对比6、案例精讲-从电商网站的比价需求说开原创 2021-11-15 09:15:41 · 809 阅读 · 0 评论 -
四、Java的一些“锁”事
四、Java的一些“锁”事四、Java“锁”事1、Lock2、synchronized与Lock的区别3、悲观锁4、乐观锁5、八锁案例1、JDK源码(notify方法)2、8种锁的案例实际体现在3个地方1、标准访问有ab两个线程,请问先打印邮件还是短信2、sendEmail方法暂停3秒钟,请问先打印邮件还是短信1-2结论3、新增一个普通的hello方法,请问先打印邮件还是hello4、有两部手机,请问先打印邮件还是短信3-4结论5、两个静态同步方法,同1部手机,请问先打印邮件还是短信6、两个静态同步方法,原创 2021-11-15 14:18:39 · 428 阅读 · 0 评论 -
五、线程间通信
五、线程间通信1、面试题:两个线程打印1、synchronized实现2、换成4个线程3、4个线程解决方案4、java8新版实现2、线程间定制化调用通信下一章:LockSupport与线程中断更多内容: 1、面试题:两个线程打印 两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B…5152Z 1、synchronized实现 package com.xue.thread; import java.util.concurrent.locks.Condition; import j原创 2021-11-15 23:02:46 · 68 阅读 · 0 评论 -
六、LockSupport与线程中断
六、LockSupport与线程中断1、线程中断机制1、如何停止、中断一个运行中的线程??2、什么是中断?3、中断的相关API方法2、如何使用中断标识停止线程?1、通过一个volatile变量实现2、通过AtomicBoolean3、通过Thread类自带的中断api方法实现4、当前线程的中断标识为true,是不是就立刻停止?5、静态方法Thread.interrupted()6、总结3、LockSupport是什么4、线程等待唤醒机制1、3种让线程等待和唤醒的方法2、Object类中的wait和notif原创 2021-11-15 23:12:34 · 282 阅读 · 0 评论 -
七、集合不安全
七、集合不安全1、线程不安全错误2、List不安全1、 解决方案1、Vector2、Collections3、写时复制(JUC)4、CopyOnWrite理论3、Set不安全4、Map不安全下一章:JUC强大的辅助类更多内容: 1、线程不安全错误 java.util.ConcurrentModificationException ArrayList在迭代的时候如果同时对其进行修改就会 抛出java.util.ConcurrentModificationException异常 并发修改异常 2、List不原创 2021-11-15 23:16:12 · 149 阅读 · 0 评论 -
八、JUC强大的辅助类
八、JUC强大的辅助类1、CountDownLatch减少计数2、CyclicBarrier循环栅栏3、Semaphore信号灯下一章:Java内存模型之JMM更多内容: 1、CountDownLatch减少计数 package com.xue.thread; import java.util.concurrent.CountDownLatch; /** * * @Description: * *让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒。 * * CountDown原创 2021-11-15 23:18:52 · 86 阅读 · 0 评论 -
九、Java内存模型之JMM
九、Java内存模型之JMM1、计算机硬件存储体系2、Java内存模型Java Memory Model3、JMM规范下,三大特性1、可见性2、原子性3、有序性4、JMM规范下,多线程对变量的读写过程1、读取过程2、小总结5、JMM规范下,多线程先行发生原则之happens-before1、先行发生原则说明2、happens-before总原则6、happens-before之8条1、次序规则2、锁定规则3、volatile变量规则4、传递规则5、线程启动规则(Thread Start Rule)6、线程中原创 2021-11-22 17:46:40 · 71 阅读 · 0 评论 -
十、volatile与Java内存模型
十、volatile与Java内存模型1、被volatile修改的变量有2大特点2、volatile的内存语义3、内存屏障(重点)1、生活case2、内存屏障是什么3、volatile凭什么可以保证可见性和有序性???4、JVM中提供了四类内存屏障指令5、四大屏障分别是什么意思6、happens-before 之 volatile 变量规则7、JMM 就将内存屏障插⼊策略分为 4 种4、volatile特性1、保证可见性1、volatile变量的读写过程2、没有原子性1、volatile变量的复合操作(如i原创 2021-11-24 17:04:09 · 132 阅读 · 0 评论 -
十一、CAS
1、没有CAS之前 十一、CAS1、没有CAS之前1、多线程环境不使用原子类保证线程安全(基本数据类型)2、多线程环境 使用原子类保证线程安全(基本数据类型)2、CAS是什么1、源码分析compareAndSet(int expect,int update)3、CAS底层原理?如果知道,谈谈你对UnSafe的理解1、UnSafe2、我们知道i++线程不安全的,那atomicInteger.getAndIncrement()3、底层汇编4、总结4、原子引用5、自旋锁,借鉴CAS思想6、CAS缺点1、循环原创 2021-11-24 17:32:33 · 95 阅读 · 0 评论 -
十二、原子操作类之18罗汉增强
十二、原子操作类之18罗汉增强1、基本类型原子类1、常用API简介2、tsleep→countDownLatch2、数组类型原子类3、引用类型原子类4、对象的属性修改原子类1、使用目的2、使用要求3、AtomicIntegerFieldUpdaterDemo4、AtomicReferenceFieldUpdater5、你在哪里用了volatile6、原子操作增强类原理深度解析1、点赞计数器,看看性能2、LongAdderAPIDemo3、LongAdder高性能对比Code演示4、源码、原理分析1、架构2、原创 2021-11-24 17:46:21 · 132 阅读 · 0 评论 -
十三、ThreadLocal
十三、ThreadLocal1、ThreadLocal简介2、永远的helloworld1、小总结3、从阿里ThreadLocal规范开始1、非线程安全的SimpleDateFormat2、解决13、解决24、ThreadLocal源码分析1、Thread,ThreadLocal,ThreadLocalMap 关系5、ThreadLocal内存泄露问题1、什么是内存泄漏2、谁惹的祸?3、强引用、软引用、弱引用、虚引用分别是什么?1、强引用(默认支持模式)2、软引用3、弱引用4、虚引用5、GCRoots和四大原创 2021-12-03 11:13:25 · 413 阅读 · 0 评论