美文网首页
java常见基础面试题(二)

java常见基础面试题(二)

作者: 小院看客 | 来源:发表于2023-06-01 22:50 被阅读0次

    一、map是有序的吗?

    Map是无序的

    二、HashMap和HashTable的区别

    1、线程安全方向:HashMap是非线程安全的;HashTable内部方法基本都经过synchronized修饰;

    2、效率:因为线程安全问题,HashMap要比HashTable效率高一点。(HashTable基本被淘汰);

    3、对NULL key和NULL value的支持:HashMap可以存null的key和value,但空键值只能有一个,空值可以有多个;HashTable不允许有NULL键和值,否则会抛出异常。

    4、底层结构:HashMap当链表长度大于8,数组长度大于64时,结构转变为红黑树。

    5、初识容量、扩容:HashTable默认初始大小为11,之后每次扩充为原来的2n+1;HashMap默认的初始容量为16,装载因子时0.75,所以当大小超过12就动态扩容,将长度扩大为原来的2倍。

    三、ConcurrentHashMap

    ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成;Segment实现了ReentrantLock来实现线程安全。

    1.8版本则采用CAS和synchronized来保证并发安全。

    相关文章

      网友评论

          本文标题:java常见基础面试题(二)

          本文链接:https://www.haomeiwen.com/subject/ckjzsdtx.html