摘要:        
本文基于 JDK1.8 我们都知道 HashMap 内部有个属性负载因子用来扩容,那么什么时候才会扩容呢? 源码中还有一个属性 threshold 👇 /** * The next size value at which to resize (capacity * load factor). */    阅读全文
posted @ 2021-08-09 15:09
超级鲨鱼辣椒
阅读(291)
评论(0)
推荐(0)
        
            
        
        
摘要:        
本文基于 JDK1.8 话不多说,看看源码怎么肥四呢 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { ... ... if (p.hash == hash && ((k = p.key)     阅读全文
posted @ 2021-08-09 14:51
超级鲨鱼辣椒
阅读(313)
评论(0)
推荐(0)
        
            
        
        
摘要:        
接上文:浅谈 HashMap(一):数据结构底层实现方式 本文基于 JDK1.8 这节讲讲 HashMap 的 put 方法,看似简单的一个存值方法,实则细节满满,且听我娓娓道来 话不多说,先看看源码👇 public V put(K key, V value) { return putVal(ha    阅读全文
posted @ 2021-08-09 14:31
超级鲨鱼辣椒
阅读(158)
评论(0)
推荐(0)
        
            
        
        
摘要:        
本文基于 JDK1.8 话不多说,先来个图 众所周知,HashMap 的底层实现是数组+链表+红黑树,那么到底是怎样的呢?我们从源码中看看👇 先来点题外话,如果我们想在 Java 中存储一个数据的时候具体是怎么存的呢?这个问题初看大家会觉得有点废话的意思,且听我细说。我们知道 Map 存储的是 k    阅读全文
posted @ 2021-08-09 11:45
超级鲨鱼辣椒
阅读(93)
评论(0)
推荐(0)
        
 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号