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操作的,这样的目的是保证同步的时候,锁住的不是整个对象。

  • 相关阅读:
    shenduxuexizheshinian
    apk
    clion 激活码
    mongodb配置文件
    scrapy
    基于docker/虚拟机的esp32远程工作流
    Android JNI 之 环境安装
    使用lambda编写九九乘法表
    OpenFire 的安装和配置
    跟我学android-Notification
  • 原文地址:https://www.cnblogs.com/zxguan/p/7825914.html
Copyright © 2011-2022 走看看