源码分析
「已注销」
这个作者很懒,什么都没留下…
展开
-
ArrayList源码分析 add(E e)
add(E e)方法*存储ArrayList元素的数组缓冲区。* ArrayList的容量是这个数组缓冲区的长度。任何*带有elementData的空ArrayList == DEFAULTCAPACITY_EMPTY_ELEMENTDATA*当添加第一个元素时,*将被扩展到DEFAULT_CAPACITY。 transient Object[] elementData;pri...原创 2018-08-14 19:55:22 · 269 阅读 · 0 评论 -
modCount到底是干什么的呢
modCount到底是干什么的呢在ArrayList,LinkedList,HashMap等等的内部实现增,删,改中我们总能看到modCount的身影,modCount字面意思就是修改次数,但为什么要记录modCount的修改次数呢? 大家发现一个公共特点没有,所有使用modCount属性的全是线程不安全的,这是为什么呢?说明这个玩意肯定和线程安全有关系喽,那有什么关系呢阅读源码,发现这...转载 2018-08-15 12:25:42 · 123 阅读 · 0 评论 -
HashMap JDK1.8阅读
public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}// h = key.hashCode() 为第一步 取hashCode值// h ^ (h >>> 16) 为第二步 高位参与运算//int 32位 所以h>>>向右...原创 2018-10-11 14:18:23 · 103 阅读 · 0 评论 -
手写HashMap
编写顶层接口 public interface Map<K,V> { public V put(K k,V v); public V get(K k); public int size(); public interface Entry<K,V>{ public K getKey(); pu...原创 2018-10-08 16:52:23 · 105 阅读 · 0 评论 -
spring系列源码解读
Spring-bean的循环依赖以及解决方式 spring源码(一)--ContextLoaderListener spring源码(二)--BeanFactory spring源码(三)--XmlBeanDefinitionReader spring源码(四)--ClassPathResource spring源码(五)--DefaultDocumentL...原创 2019-02-11 10:08:55 · 749 阅读 · 0 评论