1.继承的父类不同
HashMap 继承Abstractmap,实现Map,Coneable,Serializable
HashTable 继承Dictionnary,实现Map,Coneable,Serializable
2.对null的支持不同
HashMap 支持一个null作为key,所有key对应的value都可为空
HashTable 既不支持key为空(底层调用key.hashCode()报错),也不支持value为空(底层判断抛出异常)
3.线程安全
HashMap 非线程安全
HashTable 线程安全,内部每个方法都加入了Synchronize方法
4.初始容量大小和每次扩充容量大小的不同
HashMap 初始容量16 每次扩原来的2倍
HashTable 初始容量11 每次变成原来的2n+1
参考:https://blog.csdn.net/wangxing233/article/details/79452946