首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
集合
订阅
尘微
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
ArrayList还是LinkedList?使用不当性能差千倍
ArrayList 和 LinkedList 有什么区别,是面试官非常喜欢问的一个问题。可能大部分小伙伴和我一样,能回答出“ArrayList 是基于数组实现的,LinkedList 是基于双向链表实现的。” 关于这一点,我之前的文章里也提到过了。但说实话,这样苍白的回答并不能…
阻塞队列LinkedBlockingQueue源码学习与对比
前上一篇详细学习了ArrayBlockingQueue,今天学习LinkedBlockingQueue源码并与之对比。LinkedBlockingQueue总结同样先直接总结LinkedBlockin
Java 集合 ArrayList 源代码分析(带着问题看源码)
今天学习下ArrayList的源代码,不同于其他人写的博客,很多都是翻译源代码中的注释,然后直接贴到文章中去。小编打算换一种书写风格,带着问题看源码可能收获会更大,本文将围绕着下面几个问题展开讨论。 其实无论你采用transient E[] elementData;的方式声明,…
《我们一起进大厂》系列-ConcurrentHashMap & Hashtable
上次面试呀,我发现面试官对我的几个回答还是不够满意,觉得还是有点疑问,我就挑几个回答一下。 我觉得就是一个经验值,定义16没有很特别的原因,只要是2次幂,其实用 8 和 32 都差不多。 用16只是因为作者认为16这个初始容量是能符合常用而已。 根据泊松分布,在负载因子默认为0…
HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!
Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 众所周知…
HashMap面试必问的6个点,你知道几个?
针对这个问题,嗯,当然是必须看过HashMap源码。至于原理,下面那张图很清楚了: HashMap采用Entry数组来存储key-value对,每一个键值对组成了一个Entry实体,Entry类实际上是一个单向的链表结构,它具有Next指针,可以连接下一个Entry实体。 数组…
漫画:高并发下的HashMap
这一期我们来讲解高并发环境下,HashMap可能出现的致命问题。 HashMap的容量是有限的。当经过多次元素插入,使得HashMap达到一定饱和度时,Key映射位置发生冲突的几率会逐渐提高。 这时候,HashMap需要扩展它的长度,也就是进行Resize。 HashMap的当…
List集合就这么简单【源码剖析】
前一篇已经讲了Collection的总览:Collection总览,介绍了一些基础知识。 底层数据结构是数组。线程不安全 底层数据结构是链表。线程不安全 底层数据结构是数组。线程安全 第一次扩容后,如果容量还是小于minCapacity,就将容量扩充为minCapacity。 …
JDK源码分析-ArrayList
ArrayList 是 List 接口的一个实现类,也是 Java 中最常用的容器实现类之一,可以把它理解为「可变数组」。 我们知道,Java 中的数组初始化时需要指定长度,而且指定后不能改变。ArrayList 内部也是一个数组,它对数组的功能做了增强:主要是在容器内元素增加…
JDK源码分析-HashMap(2)
前文「JDK源码分析-HashMap(1)」分析了 HashMap 的内部结构和主要方法的实现原理。但是,面试中通常还会问到很多其他的问题,本文简要分析下常见的一些问题。 首先 HashMap 是线程不安全的。这一点很多人应该都了解,HashMap 源码中也有说明。但是为什么说…