- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 源码阅读之ConcurrentHashMap(JDK1.7)
HashMap实际上是一个线性数组,数组上的每个元素都是一个链表(俗称桶)。 ConcurrentHashMap则是对这个线下数组进行了划分,划分成若干个段(segment),在并发操作时,会对对应的段加锁。 HashEntry:用来封装映射表的键 / 值对;Segment 用来充当锁的角色,每个 Segment 对象守护整个散列映射表的若干个桶。每个桶是由若干个 HashEntry 对象链接...
2018-08-24 16:25:31 326
转载 JDK之sun.misc.Unsafe
//下面是sun.misc.Unsafe.java类源码package sun.misc;import java.lang.reflect.Field;/*** * This class should provide access to low-level operations and its * use should be limited to trusted code. Field...
2018-08-22 09:18:26 1259
原创 装饰器模式在项目中实战-创建领域对象缓存
需求背景:根据不同的场景,需要调用多个外部接口,每个外部接口耗时不等,我根据要求做成可动态增加的模式。优点:用起来很方便,动态地追加功能,可以随意匹配调用接口的数量,且只调用一次方法即可,这会使业务代码非常清晰。配合回调函数和模板,可以实现动态地调用任意组合类型的接口。缺点:代码有点多。会new出不少对象。因为本来掉接口的类完全可以用注入来的。现在的装饰器必须自己来new,否则无法保证灵活...
2018-08-16 21:41:36 696
原创 Guava缓存项目实战
项目中涉及到数据缓存,对一致性要求还行,本来打算用Guava做。后来发现6台机器且数据量3亿左右,内存大小和路由达不到要求。换成redis做缓存,但是guava代码已经初步写好,放在此处用于记录。/** * 〈一句话功能简述〉<br> * 〈功能详细描述〉Guava缓存处理抽象类 * * @author wangzha * @see [相关类/方法](可选) * @si...
2018-08-16 21:21:21 1712
转载 深入解析volatile关键字
转载地址:https://www.cnblogs.com/dolphin0520/p/3920373.html1、计算机计算过程2、并发编程的三要素3、深入解析volatile关键字4、volatile运用场景计算机计算过程大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理...
2018-08-09 17:15:49 262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人