java
N年磨一剑
Java
展开
-
深入再深入volatile关键字
深入再深入volatile关键字 众所周知volatile关键字可以实现不同线程之间对于共享变量的可见性,先来两张本人的灵魂画图 那么volatile是怎么实现线程之间数据的可见性的呢? (细心的小伙伴可能发现volatile的源码不是用java实现的) 先附上 JMM数据原子性操作: lock(锁定):作用于主内存变量,把一个变量标识为一条线程独占状态。 unlock(解锁):作用于主...原创 2019-09-01 17:57:01 · 181 阅读 · 0 评论 -
HashMap
了解HashMap hashmap是开发中常用的集合,我们知道hashmap有几个明显的特点: 查找效率高效 不是线程安全的 不是线程安全的 不知道你有没有在注意过hashmap为什么查找效率那么高,为什么不是线程安全的呢? 下面我们就从这两个角度分析hashmap 为什么查找效率很高: 数组在查找时只能通过遍历去寻找元素,时间复杂度是O(n) hash在查找时可以理解为有一个索引直接引用到...原创 2019-09-13 17:28:33 · 185 阅读 · 0 评论