java集合
可爱马莲花
这个作者很懒,什么都没留下…
展开
-
Java源码分析之HashMap(JDK1.8)
一、HashMap概述 HashMap是常用的Java集合之一,是基于哈希表的Map接口的实现。与HashTable主要区别为不支持同步和允许null作为key和value。由于HashMap不是线程安全的,如果想要线程安全,可以使用ConcurrentHashMap代替。二、HashMap数据结构 HashMap的底层是哈希数组,数组元素为Entry。HashMap通过key的hashCod...转载 2018-05-24 13:03:01 · 117 阅读 · 0 评论 -
HashMap源码解析(基于JDK1.7)
一、HashMap简介哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理就是基于此。那么什么是哈希表呢? 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(...转载 2018-05-24 13:05:38 · 154 阅读 · 0 评论 -
ConcurrentHashMap的jdk1.7源码
ConcurrentHashMap的锁分段技术:假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术。首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。 1.类变...转载 2018-05-24 23:29:44 · 131 阅读 · 0 评论