JUC
文章平均质量分 71
Flounder-Man
做自己热爱的事情!就会有持续的动力!
展开
-
CAS(CAS底层原理+CAS会产生的问题及解决方法)
CAS的详细讲解!CAS是什么?CAS底层原理CAS的缺点什么是ABA问题AtomicReference(原子引用)AtomicStampedReference(版本号原子引用)CAS是什么?比较并交换(compareAndSwap)它是原子类实现的的底层原理:package CAS;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;public class CASD原创 2021-05-21 10:21:07 · 525 阅读 · 0 评论 -
volatile关键字之最通俗易懂的讲解(可见性、不保证原子性、禁止指令重排)
volatile是什么?对volatile的理解?volatile是java虚拟机提供的轻量级的同步机制,有三大特性:1. 保证可见性2. 不保证原子性3. 禁止指令重排JMM内存模型之可见性可见性代码验证:没有加volatile关键字之前package VolatileDemo;import java.util.concurrent.TimeUnit;class Data{ int number=0; /*设置一个修改number的方法*/ public原创 2021-05-19 21:27:25 · 422 阅读 · 0 评论 -
常用设计模式之单例模式(多种实现方式:懒汉、饿汉、枚举、内部类)
单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。实现方式一:饿汉子式/*/*饿汉子式* 在类加载阶段直接创建实例对象,不管你是否需要这个对象*/public class hungryman { public static原创 2021-05-18 00:05:36 · 123 阅读 · 0 评论 -
java--JUC快速入门(彻底搞懂JUC)
java–JUC快速入门(彻底搞懂JUC)文章目录java--JUC快速入门(彻底搞懂JUC)1、学习多线程之前需要知道的一些概念。2、JUC的结构3、Lock锁(重点)4、集合类不安全5、Callable()6、常用的辅助类7、读写锁8、阻塞队列9、线程池1、学习多线程之前需要知道的一些概念。1.1 JUC是什么?JUC是java.util.concurrent包的简称,在Java5.0添加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题!...原创 2021-05-08 23:39:27 · 99134 阅读 · 13 评论 -
java--线程池(3大方法、7大参数、四种拒绝策略)
什么是线程池?线程池:一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。线程池的好处:1.降低资源消耗2.提高响应速度3.方便管理线程池: 三大方法创建线程池的三大方法如下: ExecutorService service = Executors.newSingleThreadExecutor();//单个线原创 2021-05-08 11:06:34 · 3282 阅读 · 0 评论