JAVA集合
liaonn5
这个作者很懒,什么都没留下…
展开
-
HashMap在多线程环境下操作可能会导致程序死循环
本文转自:Java极客技术关于 HashMap,以前只知道它是非线程安全,在多线程环境下操作可能会导致程序死循环,CPU直接飙到100%的线上故障,还真是第一次听说......01、问题描述经常有些面试官会问,是否了解过 HashMap 在多线程环境下使用时可能会发生死循环,导致服务器 cpu 100% 的线上故障?关于这个问题,很多年前,在淘宝内网里就有很多的程序员发过这种帖...转载 2020-01-01 10:29:05 · 1635 阅读 · 0 评论 -
面试必问之ConcurrentHashMap线程安全的具体实现方式
本文转自:Java极客技术ConcurrentHashMap 是 Java 并发包中提供的一个线程安全且高效的 HashMap 实现,以弥补 HashMap 不适合在并发环境中操作使用的不足,本文就来分析下 ConcurrentHashMap 的实现原理,并对其实现原理进行分析!一、摘要在之前的集合文章中,我们了解到 HashMap 在多线程环境下操作可能会导致程序死循环的线上故障...转载 2020-01-01 10:19:19 · 213 阅读 · 0 评论 -
HashMap 为什么线程不安全?
本文转自:https://www.cnblogs.com/developer_chan/p/10450908.html前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk...转载 2020-01-01 22:33:57 · 180 阅读 · 0 评论 -
HashMap,ConcurrentHashMap原理及源码,一次性讲清楚!
本文转自:https://javadoop.com/post/hashmap网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不清楚。终归是希望能降低大家学习的成本,不希望大家到处找各种不是很靠谱的文章,看完一篇又一篇...转载 2018-12-31 22:23:26 · 2111 阅读 · 2 评论 -
巧用Java8的Stream,让集合操作飞起来!
简介java8也出来好久了,接口默认方法,lambda表达式,函数式接口,Date API等特性还是有必要去了解一下。比如在项目中经常用到集合,遍历集合可以试下lambda表达式,经常还要对集合进行过滤和排序,Stream就派上用场了。用习惯了,不得不说真的很好用。Stream作为java8的新特性,基于lambda表达式,是对集合对象功能的增强,它专注于对集合对象进行各种高效、便利的聚合...转载 2019-08-28 09:56:51 · 228 阅读 · 0 评论 -
HashMap与ConcurrentHashMap详细介绍文章
本文转自:https://my.oschina.net/crossoverjie/blog/1861138前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。...转载 2018-10-14 14:46:35 · 125 阅读 · 0 评论 -
关于各种集合的实现及简单介绍
本文转自:https://blog.csdn.net/qq_25868207/article/details/55259978参考:https://blog.csdn.net/zheng0518/article/category/2801205ArrayList实现原理要点概括参考文献: http://zhangshixi.iteye.com/blog/674856l https...转载 2018-10-14 13:42:31 · 163 阅读 · 0 评论 -
LinkedHashMap图解--转载
本文转自:http://www.cnblogs.com/xrq730/p/5052323.html初识LinkedHashMap上两篇文章讲了HashMap和HashMap在多线程下引发的问题,说明了,HashMap是一种非常常见、非常有用的集合,并且在多线程情况下使用不当会有线程安全问题。大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap转载 2017-06-15 23:23:52 · 494 阅读 · 0 评论 -
LinkedList图解--转载
本文转自:http://www.cnblogs.com/xrq730/p/5005347.html初识LinkedList上一篇中讲解了ArrayList,本篇文章讲解一下LinkedList的实现。LinkedList是基于链表实现的,所以先讲解一下什么是链表。链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面转载 2017-06-15 23:10:10 · 276 阅读 · 0 评论 -
ArrayList图解--转载
本文转自:http://www.cnblogs.com/xrq730/p/4989451.html前言这个分类中,将会写写Java中的集合。集合是Java中非常重要而且基础的内容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织、存储数据。这里写的集合,一部分是比较常见的、一部分是不常用但是我个人平时见到过的,一些比较相似的集合(比如HashMap和转载 2017-06-15 22:46:48 · 389 阅读 · 0 评论 -
红黑树的移除节点操作图解--转载
本文转自:http://www.cnblogs.com/xrq730/p/6882018.html红黑树移除节点上文详细讲解了红黑树的概念,红黑树的插入及旋转操作,根据测试代码建立起来的红黑树结构为:本文先研究一下红黑树的移除操作是如何实现的,移除操作比较复杂,具体移除的操作要进行几次旋转和移除的节点在红黑树中的位置有关,这里也不特意按照旋转次数选择节点转载 2017-06-15 23:40:51 · 440 阅读 · 0 评论 -
红黑树概念、红黑树的插入及旋转操作图解--转载
本文转自:http://www.cnblogs.com/xrq730/p/6867924.html初识TreeMap之前的文章讲解了两种Map,分别是HashMap与LinkedHashMap,它们保证了以O(1)的时间复杂度进行增、删、改、查,从存储角度考虑,这两种数据结构是非常优秀的。另外,LinkedHashMap还额外地保证了Map的遍历顺序可以与put顺序一致转载 2017-06-15 23:30:03 · 504 阅读 · 0 评论 -
不正确使用HashMap造成死循环及元素丢失--转载
本文转自:http://www.cnblogs.com/xrq730/p/5037299.html问题引出前一篇文章讲解了HashMap的实现原理,讲到了HashMap不是线程安全的。那么HashMap在多线程环境下又会有什么问题呢?几个月前,公司项目的一个模块在线上运行的时候出现了死循环,死循环的代码就卡在HashMap的get方法上。尽管最终发现不是因为Ha转载 2017-06-15 23:21:43 · 319 阅读 · 0 评论 -
HashMap图解--转载
本文转自:http://www.cnblogs.com/xrq730/p/5030920.html初识HashMap之前的List,讲了ArrayList、LinkedList,最后讲到了CopyOnWriteArrayList,就前两者而言,反映的是两种思想:(1)ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢(2)LinkedLi转载 2017-06-15 23:18:24 · 2586 阅读 · 0 评论 -
CopyOnWriteArrayList图解--转载
本文转自:http://www.cnblogs.com/xrq730/p/5020760.html初识CopyOnWriteArrayList第一次见到CopyOnWriteArrayList,是在研究JDBC的时候,每一个数据库的Driver都是维护在一个CopyOnWriteArrayList中的,为了证明这一点,贴两段代码,第一段在com.mysql.jdbc.D转载 2017-06-15 23:15:45 · 302 阅读 · 0 评论