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

最新文章

  1. 解决eclipse中自带的maven搜索不到非本地第三方包问题
  2. Chrome的ERR_UNSAFE_PORT解决办法
  3. csu 1812: 三角形和矩形 凸包
  4. 《细细品味Hive》系列课程
  5. java 计算地球上两点间距离
  6. JSP指令
  7. json操作json类型转换
  8. POJ 1236 Network of Schools (有向图的强连通分量)
  9. Codeforces 626A Robot Sequence
  10. 传统的log4j实战
  11. Nutch+Lucene搜索引擎开发实践
  12. SpringMVC 3.2集成Spring Security 3.2
  13. vue+vux+axios+vuex+vue-router的项目的理解
  14. 手把手教你用npm发布一个包,详细教程
  15. jquery获取焦点和失去焦点事件代码
  16. Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台
  17. python之地基(一)
  18. c# 获取端口的连接数,网站的连接数
  19. Linux kprobe调试技术使用
  20. Kafka技术内幕 读书笔记之(五) 协调者——消费组状态机

热门文章

  1. 树状数组优化dp,一维排序,一维离散化
  2. DOS 获取硬盘序列号
  3. ansible的错误
  4. vscode通过服务器打开html文件
  5. 使用Fiddler抓取在夜神模拟器上的请求
  6. maven项目无法导入Oracle的jdbc连接jar包【我】
  7. nodejs的事件循环1
  8. 基于osgQt将OSG嵌入到Qt窗口中(有错误)
  9. window 10 安装vs2013启动web项目报错Id端口不能启动iis
  10. USACO 1.2 Broken Necklace