随笔分类 -  java集合

java集合代码示例
摘要:一、List ArrayList 使用List时,最好初始化容量。 ArrayList的默认容量为10,每次扩容增0.5倍,假如要放置100个元素,需要多次扩容。 List<String> list=new ArrayList<>(100); String数组转List 使用Arrays.asLis 阅读全文

posted @ 2019-08-13 00:18 乐之者v 阅读(1049) 评论(0) 推荐(0) 编辑

java集合: ArrayList源码浅析
摘要:ArrayList 是一个动态数组,线程不安全 ,允许元素为null。 ArrayList的数据结构是数组,查询比较方便。 ArrayList类的接口 RandomAccess:RandmoAccess是一个标记接口,用于被List相关类实现。他主要的作用表明这个相关类支持快速随机访问。在Array 阅读全文

posted @ 2019-02-17 21:45 乐之者v 阅读(229) 评论(0) 推荐(0) 编辑

java集合: jdk1.8的hashMap源码简单理解
摘要:HashMap的数据结构 HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的,他的底层结构是一个数组,而数组的元素是一个单向链表。HashMap默认初始化的是一个长度为16位的数组,每个数组储存的元素代表的是每一个链表的头结点。在jdk1.8中,当HashMap不断地插入元素, 阅读全文

posted @ 2019-02-17 21:45 乐之者v 阅读(1297) 评论(0) 推荐(0) 编辑

java并发:jdk1.8中ConcurrentHashMap源码浅析
摘要:ConcurrentHashMap是线程安全的。可以在多线程中对ConcurrentHashMap进行操作。 在jdk1.7中,使用的是锁分段技术Segment。数据结构是数组+链表。 对比jdk1.7,在jdk1.8中,ConcurrentHashMap主要使用了CAS(compareAndSwa 阅读全文

posted @ 2019-02-17 21:44 乐之者v 阅读(473) 评论(0) 推荐(0) 编辑

java并发:CopyOnWriteArrayList简单理解
摘要:Java集合的快速失败机制 “fail-fast” "fail-fast"是java集合的一种错误检测机制,当多个线程对集合进行结构上的改变的操作时,有可能会产生 fail-fast 机制。 例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修 阅读全文

posted @ 2018-12-11 21:32 乐之者v 阅读(1066) 评论(0) 推荐(0) 编辑

java集合: LinkedList源码浅析
摘要:LinkedList 数据结构是双向链表,插入删除比较方便。LinkedList 是线程不安全的,允许元素为null 。 构造函数: 构造函数是空的。 基本属性: 链表节点: Node<E> 链表节点通过内部类Node<E>表示,这是一个双向链表。既可以从头开始遍历,也可以从尾开始遍历。next是上 阅读全文

posted @ 2018-12-06 17:29 乐之者v 阅读(193) 评论(0) 推荐(0) 编辑

HashCode的理解
摘要:一、hashcode是什么 要理解hashcode首先要理解hash表这个概念 1. 哈希表 hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数 阅读全文

posted @ 2018-08-06 16:34 乐之者v 阅读(494) 评论(0) 推荐(0) 编辑

ConcurrentHashMap的简单理解
摘要:一、效率低下的HashTable容器HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他线程访问HashTable的同步方法时,可能会进入阻塞或轮询状态。如线程1使用put进 阅读全文

posted @ 2018-07-13 15:28 乐之者v 阅读(540) 评论(0) 推荐(0) 编辑

java集合:常用集合的数据结构
摘要:List 有序可重复 ArrayList ArrayList数据结构是数组。查询快,增删慢。ArrayList是线程不安全的,允许元素为null 。 Vector 线程安全的数组,效率较差,已经过时不用。 LinkedList LinkedList 数据结构是双向链表,插入删除比较方便。Linked 阅读全文

posted @ 2018-02-27 11:47 乐之者v 阅读(3991) 评论(0) 推荐(0) 编辑

如何阅读jdk及开源框架的源码?
摘要:0.使用工具 使用IDEA查看源码,并安装插件 translation,随时翻译源码中的注释。 注释一定要多看,哪怕是英文的注释也必须看。很多的要点,其实都写在注释里面了!!! 1.查阅资料 可以先查看网络博客,参考前辈的心得体会进行阅读。 2.理清主要流程 先理清整体的架构设计,执行顺序。 比如线 阅读全文

posted @ 2017-12-05 22:55 乐之者v 阅读(1828) 评论(0) 推荐(0) 编辑

java的Iterator源码浅析
摘要:在java的集合中,List接口继承Collection接口,AbstractList类实现了List接口,在AbstractList中的内部类Itr实现了Iterator接口 ArrayList实现List接口并继承AbstractList类,结构图如下:(图片出自网络) Iterator接口源码 阅读全文

posted @ 2016-12-02 11:42 乐之者v 阅读(2498) 评论(0) 推荐(0) 编辑

java的Map浅析
摘要:Map<K,V>是以键-值对存储的(key-value), 而Entry<K,V>是Map中的一个接口,Map.Entry<K,V>接口主要用于获取、比较 key和value. 具体的结构如下: 其中,getKey()用于获取key,而getValue()用于获取value,setValue()用于 阅读全文

posted @ 2016-11-29 17:18 乐之者v 阅读(990) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示