面试官让讲equals和hashCode的约定,我从HashMap扩容讲到他点头
前年跳槽的时候碰到一个面试官,开场就问「equals 和 hashCode 有什么约定」。这题我心里咯噔一下,不是因为难,是因为太基础了,基础到你随便答两句就会被归到「背八股的」那一档。
彻底搞懂equals和hashCode!底层原理+重写规范
只要你写Java代码,equals() 和 hashCode() 是永远绕不开的两个方法。无论是日常开发去重、对象比对、集合存储,还是面试高频八股提问,这一对方法都是重中之重。
并发编程-synchronized关键字
1. 基础用法// 1. 修饰实例方法 → 锁 this 对象public synchronized void method() { }// 2.
SOSP 2026 阅读评述连载(六)
照惯例,IPADS的同学们将按会议日程对论文内容进行分期评述。本文将介绍Day 3 Session 3C 和Session 3D的论文。
只重写 equals,你的 HashMap 就废了
有一个 bug 特别典型:代码里往 Map 里放了一个对象,然后拿一个"看起来一样"的对象去取,取出来是 null。你打开调试,看到两个对象的字段完全一致,equals 也返回 true,但 get 就是拿不到。这个现象的原因几乎总是同一个:重写了相等判断,但没重写哈希计算。
Java 28 值类型预览:Project Valhalla 核心机制与代码实战
在01的世界里探索,在烟火人间中生活。哈喽,大家好,我是「Yann」。十年!Valhalla 从 2014 年立项,名字换了四次——value types、inline classes、primitive classes,现在叫 value classes。
面试官问MyBatis缓存,你能说清一二级到底差在哪吗
你用 MyBatis 查同一条数据,第二次查询快得像本地内存读取,但你从没写过缓存代码。面试官突然追问"一二级缓存到底差在哪"时,很多人只能憋出一句"一级是 SqlSession 级别,二级是 namespace 级别"——这话没错,但太单薄了。