摘要:
java中的volatile,从网上很多资料来看,保证了被修饰变量的可见性以及有序性 对于这个有序性,是通过编译时候生成对应的内存屏障来保证不会被重排序。而这个内存屏障对应的指令码有以下4中: storestore, storeload, loadload, loadstore 这种xy形式的指令, 阅读全文
摘要:
源码如下 1 /** 2 * Removes the first occurrence of the specified element from this list, 3 * if it is present. If this list does not contain the element, 阅读全文
摘要:
public class CopyOnWriteArrayList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 直译过来,就是写时复制的动态数组。 add(E e)方法,使用可重入锁ReentrantLoc 阅读全文
摘要:
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable 其中Deque为双端队列 add(E e)方法如下,就 阅读全文
摘要:
ArrayList public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable add方法: /** * Appends the 阅读全文
摘要:
ConcurrentHashMap public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable {} 可以看到,继承自AbstractMap, 实现了 阅读全文
摘要:
从HashMap源码中,可以看到求容器下标值的方法,有两步,首先通过key值计算hash,然后用hash计算下标: 计算hash: return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); 计算下标,其下标值为:(n-1) & has 阅读全文
摘要:
我把纯源码放到了随笔: https://www.cnblogs.com/zhangxuezhi/p/11660818.html public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>, Cloneable, 阅读全文
摘要:
请求入参数据格式配置,以日期格式为例: 编写日期编辑器类: import first.zxz.tools.DateUtil; import java.beans.PropertyEditorSupport; /** * 日期编辑器 * * @author zhangxz * @date 2019-1 阅读全文
摘要:
配置类、接口等文件的文件头注释: 添加内容如下: /**** ${description}* @author zhangxz* @date ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}*/ 添加方法注释: 步骤1: 添加内容如下: * * TODO * @aut 阅读全文