摘要: 各种锁 1、公平锁、非公平锁 公平锁:非常公平,不能插队,必须先来后到 非公平锁:非常不公平,可以插队,(默认都是非公平的) public ReentrantLock() { sync = new NonfairSync(); } public ReentrantLock(boolean fair) 阅读全文
posted @ 2021-08-23 19:56 flypiggg 阅读(77) 评论(0) 推荐(0)
摘要: 原子引用 ABA问题 一个线程 CAS操作的时候cas(1,2) 另一个线程 比他快 也执行了 CAS操作cas(1,3) cas(3,1) 值已经被修改了 public class CASDemo { //CAS compareAndSet 比较并交换! public static void ma 阅读全文
posted @ 2021-08-23 18:53 flypiggg 阅读(73) 评论(0) 推荐(0)
摘要: CAS 什么是CAS 大厂必须要深入研究底层! public class CASDemo { //CAS compareAndSet 比较并交换! public static void main(String[] args) { AtomicInteger atomicInteger = new A 阅读全文
posted @ 2021-08-23 18:32 flypiggg 阅读(41) 评论(0) 推荐(0)
摘要: 单例模式 饿汉式 //饿汉式单例 public class Hungry { //可能会浪费空间 private byte[] data1 = new byte[1024]; private Hungry(){ } private static final Hungry HUNGRY = new H 阅读全文
posted @ 2021-08-23 18:12 flypiggg 阅读(35) 评论(0) 推荐(0)
摘要: JMM 对Volatile的理解 Volatile 是 Java 是虚拟机提供 轻量级的同步机制 保证可见性 不保证原子性 禁止指令重排 什么是JMM JMM:java内存模型,不存在的东西,概念 约定 关于JMM的一些同步的约定: 线程解锁前,必须把共享变量 立刻 刷回主存 线程加锁前,必须读取主 阅读全文
posted @ 2021-08-23 14:50 flypiggg 阅读(131) 评论(0) 推荐(0)