JAVA基础
文章平均质量分 87
IT界的老菜鸟
这个作者很懒,什么都没留下…
展开
-
HashMap jdk1.7 扩容死锁详解
HashMap jdk1.7 扩容死锁详解源码链表闭环产生的原因头插法原因详述图解步骤逐行代码画图分析线程1产生闭环的过程源码void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length;//新容量 for (Entry<K,V> e : table) { //遍历所有桶,table为当前Map中的Entry[] while原创 2021-10-13 11:29:23 · 987 阅读 · 2 评论 -
ConcurrentHashMap put源码解析 JDK8
ConcurrentHashMap put源码解析 JDK8sizeCtl需要了解的需要了解的变量Node对象常见的CAS方法put方法initTable()初始化tableForwardNode类addCount方法(就是size+1)size方法源码fullAddCount方法源码扩容方法 transfertransferIndex变量含义和步长transfer源码sizeCtl需要了解的sizeCtl的正确解释: https://blog.csdn.net/Unknownfuture/articl原创 2021-04-25 23:37:45 · 246 阅读 · 0 评论 -
枚举使用
一,常量定义public enum WeekDay { SUN, MON, TUE, WED, THT, FRI, SAT}二,swichpublic enum WeekDay { SUN, MON, TUE, WED, THT, FRI, SAT} public class SelectDay{ WeekDay weekday = WeekDay.SUN; public void select(){ switch(weekday){原创 2020-10-13 16:46:41 · 782 阅读 · 0 评论