![](https://img-blog.csdnimg.cn/f198e6741fad4a51bb8f33eaffa144ab.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JUC
记录多线程、并发的学习重点
学过地质的程序员
记录学习历程,分享心中所爱
展开
-
玩转Java单例模式
Java单例模式(饿汉式和懒汉式) 单例模式:提供了一种创建对象的最佳方式 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 1. 饿汉式 1)类加载时就创建了对象实例 2)不存在线程安全问题 3)可能会浪费资源 /** * 饿汉式单例 */ public class Hungry { private Hungry(){} private final static Hungry HUN原创 2022-03-12 16:15:27 · 516 阅读 · 0 评论 -
线程池总结
线程池 1.优点 1. 降低资源消耗(线程复用) 2. 提高响应速度 3. 可管理线程 2.自定义线程池 /** * @author 小毛同学 * @version 1.0 * @data 2022/3/12 8:12 */ public class ThreadPoolExecutorDemo { public static void main(String[] args) { ThreadPoolExecutor threadPoolExecutor =原创 2022-03-12 08:46:41 · 137 阅读 · 0 评论 -
常用辅助类
常用辅助类 1.CountDownLatch 减法计数器 /** * 减法计数器 */ public class Demo05 { public static void main(String[] args) { CountDownLatch countDownLatch = new CountDownLatch(6); for (int i = 1; i <= 6 ; i++) { new Thread(()->{原创 2022-03-11 22:58:39 · 167 阅读 · 0 评论 -
Synchronized 与 Lock区别
JUC 1.创建多线程 import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /** * @author 小毛同学 * @version 1.0 * @data 2022/3/8 22:48 */ public class MyThread { public static void main(S原创 2022-03-11 22:34:28 · 173 阅读 · 0 评论 -
快速了解ThreadLocal
ThreadLocal快速了解 1.什么是ThreadLocal 每一个线程独享一个ThreadLocal,是线程的局部变量, 多线程条件下有自己的独立的副本 2. 作用 1. 保存线程的上下文信息 2. 使线程间隔离 3. 保证线程安全 3. 内部分析 ThreadLocal 内部为 ThreadLocalMap 有 Entry数组 {key: ThreadLocal对象的弱引用,value: 数据副本} 4. ThreadLocal常用使用场景 1. 每个线原创 2022-03-09 15:32:33 · 898 阅读 · 0 评论