1.HashMap方法没有synchronize修饰,线程不安全,HashTable线程安全
    2,HashMap允许key和Value为null,而Hashtable不允许

    二、底层实现:数值+链表实现
    从jdk8开始,链表高度到8,数组长度超过64,链表转为红黑树,元素以内部类Node节点存在
    首先计算key哈希hash值,二次hash然后对数组长度取模,对应到数组下标。
    如果没有hash冲突,创建node存入数组
    如果产生hash冲突,先进行equal比较,相同择取代该元素,不同,则判断链表长度插入链表,链表高度达到8,数组长度达到64,就转化为红黑树,长度低于6则将红黑树转回链表
    key为空,存在下标为0位置