HashTable的故事
很早之前,在讲HashMap的时候,我们就说过hash是散列,把...弄碎的意思。hashtable中的hash也是这个意思,而table呢,是指数据表格,也就是说hashtable的本意是指,一份被数据被打散,分散在各处的数据表格。
HashTable,作为jdk中,极早提供的容器类(jdk1.0),同时是支持数据并发的类,其在项目中的使用却并不是很广泛。在我所经历的项目中,开发人员往往喜欢使用hashMap然后再通过锁,创造出线程安全的环境。即使是后来推出concurrentHashMap,其使用的地方也并没有特别广泛。究其原因,我觉得是由于开发人员对于其他hash容器并不熟悉。更愿意使用已有的较为熟悉的hash容器,即使他们在此处的应用比较费事。
好了,废话不多说,我们直接开始进入正题吧:
hashTable继承自dic类,同时实现了map接口和Cloneable、Serializable两个接口,代表该类是可复制、序列化的类。
public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable
ps:dic类和map类较为相似,是一个抽象的hash映射类,包含了一些简单的空方法和接口。
private transient Entry<?,?>[] table;
瞬时数组变量,它就是hashtable中,最核心的数据存储区域。
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26