首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
集合
订阅
李文斌
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
为什么ConcurrentHashMap的读操作不需要加锁?
我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢? 我想有基础的同学知道在jdk1.7中是采用Segment + HashEnt…
Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么?
今天,我将通过源码分析HashMap 1.8 ,从而讲解HashMap 1.8 相对于 HashMap 1.7 的更新内容,希望你们会喜欢。 1. 简介 2. 数据结构:引入了 红黑树 3. 具体使用 4. 基础知识:HashMap中的重要参数(变量) 但由于数据结构中引入了 …
面试旧敌之 HashMap : JDK 1.8 后它通过什么提升性能
HashMap 在 JDK 1.8 后新增了红黑树结构,保证了极端情况下的性能,如果你还不了解,这篇文章对你来说会有一定价值 。
HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!
Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 众所周知…
《我们一起进大厂》系列-HashMap
美丽迷人的面试官您好,您见笑了,全靠看了敖丙的《吊打面试官》系列,不然我还真的回答不上很多原本的知识盲区,他真的有点东西。 切,这也太看不起我了吧,居然问这种低级问题,不过还是要好好回答。 嗯嗯面试官,我知道HashMap是我们非常常用的数据结构,由数组和链表组合构成的数据结构…
死磕Java之聊聊HashMap源码(基于JDK1.8)
HashMap是Java程序员使用频率最高的数据结构之一。另外,JDK1.8对HashMap底层的实现进行了优化,如引入红黑树的数据结构以及扩容的优化等等来提高性能。本文结合JDK1.8的源码,探讨HashMap的结构实现和功能原理。
并发编程——ConcurrentHashMap#transfer() 扩容逐行分析
ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法。并发编程之 ConcurrentHashMap(JDK 1.8) putVal 源码分析。其中分析了 initTable 方法和 putVal 方法,但也…
面试官:"准备用HashMap存1w条数据,构造时传10000还会触发扩容吗?"
HashMap 算是我们最常用的集合之一,虽然对于 Android 开发者,Google 官方推荐了更省内存的 SparseArray 和 ArrayMap,但是 HashMap 依然是最常用的。 我们通过 HashMap 来存储 Key-Value 这种键值对形式的数据,其内…
HashMap在多线程下不安全问题(JDK1.7)
多线程put操作后,get操作导致死循环。 多线程put操作,导致元素丢失。 由上可知,Thread-7由于HashMap的扩容导致了死循环。 假设我们的hash算法是简单的key mod一下表的大小(即数组的长度)。 最上面是old hash表,其中HASH表的size=2,…
java 并发编程之 ConcurrentHashMap
ConcurrentHashMap 是线程安全并且高效的 HashMap,在并发编程中经常可见它的使用,在开始分析它的高并发实现机制前,先讲讲废话,看看它是如何被引入 jdk 的。