HashMap是非线程安全的,HashTable是线程安全的。 那个时候没怎么写Java代码,所以根本就没有听说过ConcurrentHashMap,只知道面试的时候就记住这句话就行了…至于为什么是线程安全的,内部怎么实现的,通通不了解。今天我们将深入剖析一个比HashTable性能更优的线程安全的
分类:
编程语言 时间:
2016-03-22 13:48:19
阅读次数:
320
对比上图,HashTable实现锁的方式是锁整个hash表,而ConcurrentHashMap的实现方式是锁桶(简单理解就是将整个hash表想象成一大缸水,现在将这大缸里的水分到了几个水桶里,hashTable每次都锁定这个大缸,而ConcurrentHashMap则每次只锁定其中一个 桶)。 C
分类:
其他好文 时间:
2016-03-21 19:54:59
阅读次数:
122
对比上图,HashTable实现锁的方式是锁整个hash表,而ConcurrentHashMap的实现方式是锁桶(简单理解就是将整个hash表想象成一大缸水,现在将这大缸里的水分到了几个水桶里,hashTable每次都锁定这个大缸,而ConcurrentHashMap则每次只锁定其中一个 桶)。 C
分类:
其他好文 时间:
2016-03-21 19:40:18
阅读次数:
169
转载 http://blog.csdn.net/softwave/article/details/4166598 集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakH
分类:
编程语言 时间:
2016-03-20 19:37:45
阅读次数:
261
2016年3月换工作,面试图灵机器人的过程中被问到HashMap, Hashtable 和 TreeMap的区别,居然被问住了,虽然工作四年了,在解决具体问题时貌似还没遇到过翻不过去的坑。但是最近的面试也深刻的认识到基础知识该忘的忘,该不知道的不知道,究其原因,都是之前懒得或不屑总结。 就这个问题本
分类:
编程语言 时间:
2016-03-20 14:39:39
阅读次数:
221
ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始Hashtable和HashMap类有三个重
分类:
其他好文 时间:
2016-03-19 22:50:50
阅读次数:
159
刚开始看到HashTable,HashMap和TreeMap的时候比较晕,觉得作用差不多,但是到实际运用的时候又发现有许多差别的。于是自己搜索了一些相关资料来学习,以下就是我的学习沉淀。 java为数据结构中的映射定义了一个接口java.util.Map,而HashMap Hashtable和Tre
分类:
其他好文 时间:
2016-03-17 19:10:47
阅读次数:
133
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别于HashMap允许空(null)键值(key),由于线程安全,效率上高于Hashtable. HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。Has...
分类:
编程语言 时间:
2016-03-16 00:47:42
阅读次数:
195
曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Que
分类:
其他好文 时间:
2016-03-14 12:11:39
阅读次数:
194
一,hashtable原理: 哈希表又名散列表,其主要目的是用于解决数据的快速定位问题。考虑如下一个场景。 一列键值对数据,存储在一个table中,如何通过数据的关键字快速查找相应值呢?不要告诉我一个个拿出来比较key啊,呵呵。 大家都知道,在所有的线性数据结构中,数组的定位速度最快,因为它可通过数
分类:
其他好文 时间:
2016-03-11 22:28:16
阅读次数:
244