1、Hashtable是基于哈希表的Map接口的同步实现,不允许使用null值和null键
底层使用数组实现,数组中每一项是个单链表,即数组和链表的结合体
2、Hashtable在底层将key-value当成一个整体进行处理,这个整体就是一个Entry对象。
3、Hashtable底层采用一个Entry[]数组来保存所有的key-value对,当需要存储一个Entry对象时,会根据key的hash算法来决定其在数组中的存储位置,在根据equals方法决定其在该数组位置上的链表中的存储位置;当需要取出一个Entry时,也会根据key的hash算法找到其在数组中的存储位置,再根据equals方法从该位置上的链表中取出该Entry。
4、synchronized是针对整张Hash表的,即每次锁住整张表让线程独占
参考文献:http://blog.csdn.net/zheng0518/article/details/42199477
网友评论