
java
geeker_leon
这个作者很懒,什么都没留下…
展开
-
Java concurrency in practice
Aspects in ConcurrencyAtomicity竞态条件(Race Condition): 计算的正确性取决于线程执行顺序,如:Check-And-Act,既通过一个可能失效的状态来决定下一步动作Visibility失效数据(Data Loss): 线程读取到失效的共享变量除了锁机制,volatile可以保证变量的可见性Publish and Escape发布(Pub...原创 2019-08-03 17:29:30 · 508 阅读 · 0 评论 -
HashMap & LinkedHashMap & ConcurrentHashMap
HashMap内部用数组存储内部类Node包装的Key,Value,用Key的hash code来计算数据在数组中的位置,如果遇到计算出来的位置已经有值,则以链表的方式在后面添加,当链表长度变大时,则将其转为红黑树final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict...原创 2019-08-02 15:16:47 · 154 阅读 · 0 评论 -
多线程安全的单例模式
单例模式被认为是最简单的设计模式,属于创建型(设计模式又被分为:创建型、结构型和行为型),经常被用到,下面以我在实际项目中用到的一个单例模式为例,看下如何利用经典的两次判空方法令其高效、安全得工作在多线程环境(见代码中注释)。package core;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session...原创 2019-07-20 22:41:45 · 175 阅读 · 0 评论