自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Redis安装与基本使用

Redis安装及基本使用redis特点1.Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。2.Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,sorted-set,hash等数据结构的存储。3.Redis支持数据的备份,即master-slave模式的数据备份。redis安装(windows...

2018-05-15 21:39:46 310

原创 Java集合类源码分析(九):HashSet&LinkedHashSet

HashSet源码解析HashSet类实现了Set。对于迭代器的顺序不做保证,并且不保证随着时间变化,顺序会保持一致。HashSet类允许null元素在元素均匀分布的情况下,HashSet对于一些基础操作,如add,remove,contains,size提供了常数时间的操作。用迭代器遍历set所需要的时间与HashSet元素总数和哈希桶的数量成正比。如果遍历速度很重要的话,不要把set的...

2018-05-14 22:41:08 238

原创 Java集合类源码分析(八):AbstractSet类

AbstractSet源码解析本类没有重写任何AbstractCollection类的方法实现,只是增加了对于equals和hashCode的实现equals,比较set与参数object是否相等当且仅当参数object类型是set,两个set有相同长度,并且参数set的每个元素都存在于原set中public boolean equals(Object o) { if (o...

2018-05-14 22:38:43 300

原创 Java集合类源码分析(七):HashMap&LinkedHashMap

HashMap源码分析基于哈希表的map实现类,允许所有可选的map操作,也允许null作为键和值与HashTable不同处在于HashMap不是同步的,允许null值HashMap对于顺序也不做保证相比于之前的版本,jdk1.8在解决哈希冲突时有了较大的变化,当数组总容量大于64且链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少搜索时间。原本Map.Entry接口的实现...

2018-05-14 22:36:58 212

原创 Java集合类源码分析(六):AbstractMap类

AbstractMap源码解析提供了对Map接口大致性的实现如果要实现一个不可修改的map,只需要继承此类并实现entrySet方法。这个set不支持add,remove,它的迭代器也不支持remove如果要实现一个可修改的map,还要额外重写这个类的put,迭代器也要实现removepublic boolean containsValue(Object value) { ...

2018-05-14 22:32:03 261

原创 java集合类源码分析(五):Map接口

Map接口源码解析Map接口的顺序与迭代器在集合角度上的顺序相同,有三种集合角度,分别是键的set,值的集合,和键值对的mappings一些实现类,如TreeMap,对于顺序做了一些保证,另一些例如HashMap就没有map不能以map做键,能以map做值,但这样的map对于equals和hashCode方法定义的不好void putAll(Map<? extends K, ...

2018-05-14 22:28:01 243

原创 Java集合类源码分析(四):ArrayList&LinkedList

ArrayList源码分析ArrayList可以放入任何类型的元素 ArrayList不是同步的/** * Default initial capacity. */private static final int DEFAULT_CAPACITY = 10;/** * Shared empty array instance used for empty instances....

2018-05-14 22:00:06 255

原创 Java集合类源码分析(三):AbstractList类

AbstractList源码分析调用了void add(int index, E element),将元素增加在列表末尾。某些列表类会对增加的元素类型有所要求 public boolean add(E e) { add(size(), e); return true; } public E set(int index, E el...

2018-05-14 21:42:36 989

原创 Java集合类源码分析(二):List接口

List接口源码分析default void replaceAll(UnaryOperator<E> operator) { Objects.requireNonNull(operator); final ListIterator<E> li = this.listIterator(); while (li.hasNext()) { ...

2018-05-14 21:31:40 329

原创 Java集合类源码分析(一):Collcetion接口

Collection接口源码分析int size();获取集合长度boolean isEmpty();集合是否不包含任何元素boolean contains(Object o);集合是否含有该元素 (o==null?e==null:o.equals(e))Iterator<E> iterator();返回了一个迭代器,这个迭代器的元素顺序是否有...

2018-05-14 21:23:25 705

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除