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