摘要: Synchronize是重量级锁吗?是互斥锁吗? 它的实现原理? 前言 线程安全是并发编程中的重要关注点,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多个线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时 阅读全文
posted @ 2020-03-22 18:18 架构之路 阅读(1723) 评论(0) 推荐(0) 编辑
摘要: 或许你经常被问到? Volatile关键字有何作用? 实现这些作用的底层如何实现? Volatile能够保障可见性、有序性?原子性吗? 前言 我们都知道,Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用 阅读全文
posted @ 2020-03-22 17:08 架构之路 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 读了本文,你会知道,为什么不加volatile关键字的单例模式不是线程安全的 有经验的开发者都知道双重锁定检查(DCL,Double Check Lock)的单例是最优秀的,如下文所示: 1 public class Singleton { 2 private static Singleton in 阅读全文
posted @ 2020-03-22 16:35 架构之路 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 一张图搞明白Java线程状态 1,如图所示,总共有6个状态 阅读全文
posted @ 2020-03-20 23:59 架构之路 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 若你不明白下面的问题,可以继续看。 1.线程正在执行,interrupt可以打断吗?sleep可以打断吗? 2.stop 和interrupt有什么区别? 话不多说,上代码 1 /** 2 * Descritpion: 3 * 4 * @auther wangpeng 5 * @create 202 阅读全文
posted @ 2020-03-20 23:58 架构之路 阅读(933) 评论(0) 推荐(1) 编辑
摘要: 底层实现数据结构 1.7数组+链表 思考:为什么不用双向链表 1.8+的数组+链表+红黑树 一些重要的变量 //默认初始容量16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //容量最大值 static final int MAXIMUM_ 阅读全文
posted @ 2020-03-18 00:17 架构之路 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.jianshu.com/p/bae8291d9ab8 快速排序Java实现 leilifengxingmw关注赞赏支持 阅读全文
posted @ 2020-03-18 00:09 架构之路 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 基本概念 Roaring BitMap 以下简称 RBM,中文翻译为咆哮位图,它本质上是定义了一个很大的 bit 数组,每个元素对应到 bit 数组的其中一位,一个Integer是32-bit, 一共有Integer.MAX_VALUE = 2 ^ 32个值,32-bit的unsigned inte 阅读全文
posted @ 2020-03-18 00:08 架构之路 阅读(1244) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal 其本质上就是避免共享 正所谓是没有共享,就没有伤害.下面来看看ThreadLocal 的源码,Thread类中包含了一个threadLocals变量,它是一种ThreadLocal.ThreadLocalMap类型,该类型定义在ThreadLocal类里面,也就是一个内部类。 阅读全文
posted @ 2020-03-10 00:04 架构之路 阅读(217) 评论(0) 推荐(0) 编辑
摘要: Copy-on-Write模式一种延时策略,只有在真正需要复制的时候才复制,而不是提前复制好,同时 Copy-on-Write 还支持按需复制. Copy-on-Write 最大的应用领域还是在函数式编程领域函数式编程的基础是不可变性(Immutability),所以函数式编程里面所有的修改操作都需 阅读全文
posted @ 2020-03-09 00:00 架构之路 阅读(202) 评论(0) 推荐(0) 编辑
========================================================================== 如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行 ==========================================================================