
Java
文章平均质量分 88
javageektech
这个作者很懒,什么都没留下…
展开
-
HashMap 数据覆盖问题
阿粉今天就来谈谈这个,这个问题在 1.7 版本和 1.8 版本中都有,阿粉分别来说说在说之前,咱们先要达成一个共识: HashMap 发生数据覆盖的问题,是在多线程环境 & 扩容下产生的,接下来咱们具体来看jdk 1.7 void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (Entry<K,V> e : table)原创 2021-04-24 19:18:54 · 2171 阅读 · 2 评论 -
RandomAccess 明明是个空接口,能有什么用呢
背景打开 JDK 源码,搜索 RandomAccess 我们可以看到,如下代码块,就是一个申明,里面空空如也,啥也没有。要是放在以前阿粉肯定会觉得这种写法肯定没什么用,但是毕竟看过二哥之前的文章,阿粉已经学到了,不会再那么年轻了。public interface RandomAccess {}在介绍RandomAccess 的作用之前我们先看下集合 List 的两个基本的实现ArrayList 和LinkedList ,这两个的区别主要有下面几个底层数据结构不同,Arraylist 底层使用的原创 2021-04-24 19:18:03 · 210 阅读 · 0 评论 -
HashMap的实现原理
如果你是个 Java 程序员,那一定对 HashMap 不陌生,巧的是只要你去面试,大概率都会被问到 HashMap 的相关内容那这篇文章你就一定要读一读了HashMap 的底层数据结构先来聊聊 HashMap 的底层数据结构HashMap 的底层数据结构, 1.7 版本和 1.8 版本是有些不同的,但大体上都是 数组 + 链表 的形式来实现的, 1.7 版本是这个样子:1.8 版本是这样:很明显就能看出来, 1.8 版本怎么多了一个树?还是红黑的?这就要来分析 1.7 版本 HashMa原创 2021-04-24 19:17:11 · 330 阅读 · 0 评论 -
来说说垃圾回收怎么样~
JVM 的自动内存管理,让原本应该是开发人员去做的事情,变成了垃圾回收器来做的事情既然是别人帮忙做的事情,那么可能就不是自己想要的,所以就需要我们了解一下垃圾回收相关的内容引用计数法与可达性分析垃圾回收,垃圾回收,那就是有的内存分配给了一些对象,但是这些对象已经用完了,那么它所占用的内存也就应该该释放掉了,却还没有释放那么,这里就有个问题:该如何确定一个对象用完了呢?其中一种方法就是引用计数法引用计数法就是给每个对象添加一个引用计数器,来统计指向该对象的引用个数比如:如果有一个引用,被赋值为原创 2021-04-24 19:15:48 · 191 阅读 · 0 评论