java面试题\
摇响檐下风铃
感谢东哥!安排东哥!所有文章均来自实际操作,均有实践.
展开
-
ConcurrentHashMap 和 HashMap
然而,在写操作时,ConcurrentHashMap 会利用锁分段技术将数据分为多个段(Segment),每个段都有自己的锁,不同的线程可以同时对不同的段进行修改操作,从而提高了并发性能。即在迭代过程中,其他线程对 ConcurrentHashMap 进行修改时,迭代器可能仅仅能够看到修改操作之前或之后的数据,但不保证即时反映修改结果。否则,对于单线程环境或者不需考虑并发安全的情况,可以选择使用 HashMap,因为它的实现更简单、性能稍微优于 ConcurrentHashMap。原创 2023-09-04 15:13:55 · 184 阅读 · 0 评论 -
LinkedHashMap 和 HashMap区别
则以插入顺序(或者访问顺序)存储键值对,即在插入元素时,每个元素都会按照插入的顺序被放置到链表的末尾。在性能上,由于 LinkedHashMap 需要维护插入顺序,因此比 HashMap 稍微慢一些,但是这种性能损失通常是可以接受的。总之,我们可以根据具体的应用场景选择合适的 Map 实现类。如果不考虑遍历顺序且需要最快的查找性能,则使用 HashMap,如果需要保持元素的插入顺序,则使用 LinkedHashMap。都是 Java 中常用的 Map 实现类,它们的主要区别在于存储元素的顺序有所不同。原创 2023-05-30 13:45:45 · 4238 阅读 · 0 评论