zoukankan      html  css  js  c++  java
  • Java HashMap、HashTable与ConCurrentHashMap

    一、Java中数据存储方式最底层的两种结构

      1、数组:存储空间连续,寻址迅速,增删较慢。(代表:ArrayList)

      2、链表:存储空间不连续,寻址慢,增删较快。(代表:LinkedList)

    二、哈希表:较快(常量级)的查询速度,及相对较快的增删速度,所以很适合在海量数据的环境中使用。

      1、哈希表是由数组+链表组成的(链表的数组,数组中存的是链表的头结点)

          

    三、HashMap与HashTable的区别(相同存储机制)

      1、HashMap是非线程安全的,HashTable是线程安全的。  

      2、HashMap的键和值都允许有null值存在,而HashTable则不行。

      3、因为线程安全的问题,HashMap效率比HashTable的要高。

    四、ConCurrentHashMap是HashMap的线程安全的实现,与传统HashTable相比,性能更好。  

      1、HashTable使用synchronized关键字锁住对象整体

      2、ConCurrentHashMap基于lock操作的,这样的目的是保证同步的时候,锁住的不是整个对象。

  • 相关阅读:
    js返回到顶部
    css培训一
    css常用hack技巧
    css培训二
    css样式渲染规则
    html语义(一)
    css样式表管理
    html+css培训方案
    继承
    封装
  • 原文地址:https://www.cnblogs.com/zxguan/p/7825914.html
Copyright © 2011-2022 走看看