下雨天读源码
文章平均质量分 64
Yokna
此人很懒,啥都不想写。
展开
-
我对ConcurrentHashMap一无所知
我对ConcurrentHashMap一无所知上期讲到HashMap,很明显它里面的所有方法,都是不支持多线程抢占执行的,一旦在并发场景下,就可能会出现以下问题。//环形链表问题//在多个线程执行put时,假如同时触发了resize,而恰好一个线程停在了next = e.next位置,线程2此时来执行void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (En原创 2021-09-03 16:37:19 · 143 阅读 · 0 评论 -
我对HashMap一无所知
我对HashMap一无所知HashMap作为java常用集合之一,仅仅停留在只会用是远远不够的,整个源码读起来简直是不要太爽,直呼NB。下面开启我们的一无所知系列——HashMap,笔者选取其中重要的几个方法来谈谈对HashMap的理解,食用之前请先知道HashMap的基本用法,以及HashMap的数据结构。成员变量部分成员变量如下://初始值,为16,必须为2的次幂static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //当原创 2021-09-02 21:45:05 · 223 阅读 · 5 评论 -
下雨天读源码——String、StringBuilder、StringBuffer
下雨天读源码——String、StringBuilder、StringBufferString源码类定义public final class String implements java.io.Serializable, Comparable<String>, CharSequence 这是string源码的类定义,首先是一个final类型的不可变类型,其次string实现了可比较、可序列化接口,主要说一下为什么是final的吧。这是顶级大佬设计string时的智慧啊,我们知道ja原创 2021-08-17 17:09:45 · 183 阅读 · 0 评论