随笔分类 - Java集合框架
摘要:初识LinkedHashMap 上两篇文章讲了HashMap和HashMap在多线程下引发的问题,说明了,HashMap是一种非常常见、非常有用的集合,并且在多线程情况下使用不当会有线程安全问题。 大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap,不过HashMap有一个问题
阅读全文
摘要:问题引出 前一篇文章讲解了HashMap的实现原理,讲到了HashMap不是线程安全的。那么HashMap在多线程环境下又会有什么问题呢? 几个月前,公司项目的一个模块在线上运行的时候出现了死循环,死循环的代码就卡在 HashMap的get方法上。尽管最终发现不是因为HashMap导致的,但却让我重
阅读全文
摘要:初识CopyOnWriteArrayList 第一次见到 CopyOnWriteArrayList,是在研究JDBC的时候,每一个数据库的Driver都是维护在一个 CopyOnWriteArrayList中的,为了证明这一点,贴两段代码,第一段在com.mysql.jdbc.Driver下,也就是
阅读全文
摘要:初识HashMap 之前的List,讲了ArrayList、LinkedList,最后讲到了CopyOnWriteArrayList,就前两者而言,反映的是两种思想: (1)ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢 (2)LinkedList以链表形式实现,顺序插入、查找较
阅读全文
摘要:初识LinkedList 上一篇中讲解了ArrayList,本篇文章讲解一下LinkedList的实现。 LinkedList是基于链表实 现的,所以先讲解一下什么是链表。链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面除了 存放有待存储的
阅读全文
摘要:前言 这个分类中,将会写写Java中的集合。集合是Java中非常重要而且基础的内 容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织、存储数据。这里写的集合,一部分是比较常见的、一部分是不常用但是 我个人平时见到过的,一些比较相似的集合(比如HashMap和Hashta
阅读全文