Java面试必问:String不可变的底层实现及核心优势
Java面试中,String类绝对是“高频常客”,而“String为什么是不可变的?”“其底层实现是什么?”“不可变带来了哪些核心优势?”,更是从初级到资深面试都绕不开的核心考点。
HashMap源码:扩容与红黑树转换,逐行扒给你看
写代码时HashMap一顿乱用,线上OOM了才慌。链表变红黑树到底啥时候触发的?扩容时节点怎么重新分布的?扒完1.8源码,其实就那几行核心逻辑。一句话核心结论链表长度超8且数组容量≥64才树化;扩容时容量翻倍,节点通过e.
JAVA研发三年了,你应该学习JAVA源码了
* @param obj the reference object with which to compare. //比如“蜜蜂攻城狮 if { String anotherString = anObject;
翻了ConcurrentHashMap1.7 和1.8的源码,我总结了它们的主要区别
ConcurrnetHashMap 有很多个 Segment 组合,而每一个 Segment 是一个类似于 HashMap 的结构,所以每一个 HashMap 的内部可以进行扩容。
HashMap 源码深度剖析:从 JDK1.7 到 JDK26,30 年进化史与性能巅峰
全网最细 HashMap 源码分析,覆盖数组 + 链表 + 红黑树 + 虚拟线程优化底层数据结构:哈希算法、索引计算、扩容机制、树化阈值JDK1.7 vs JDK1.
面试必备:HashMap(JDK1.8)原理以及源码分析
对于HashMap想必大家都不陌生,无论是平时code还是面试都经常和它打交道。今天我们通过源码的层面来分析一下它的实现原理,注意本文基于的是JDK1.8。
equals()与hashCode()重写规则及底层逻辑深度解析
在Java后端面试中,equals()与hashCode()是基础且高频的考点,尤其二者的重写规则、底层关联的逻辑,更是面试中区分基础扎实度的关键。很多开发者只知道“重写equals就要重写hashCode”,却不懂底层原理,导致面试答题流于表面,甚至踩中代码陷阱。
绝了!这是我见过最详细的HashMap源码解析
HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足时,同样会自动增长.