java基础面试核心四主线:数据与类型系统(含string不可变性、==与equals区别)、面向对象本质(封装边界、继承约束、接口契约)、集合框架(hashmap底层机制等)、异常与内存模型(volatile作用、try-catch-return顺序)。

Java 基础面试题核心大纲不是用来死记硬背的清单,而是帮你锚定知识主干、识别理解断层、快速定位薄弱环节的路线图。关键不在于“覆盖多少题”,而在于“每个点是否能讲清原理、场景和边界”。
Java基础核心要抓四条主线
数据与类型系统
包括基本类型 vs 包装类(自动装箱拆箱的触发条件、缓存范围如Integer.valueOf(127))、String不可变性与字符串常量池(new String("abc")创建几个对象?)、==与equals()的语义差异(前者比地址/值,后者比逻辑相等,且需重写hashCode()保持契约)。
建议:画一张内存图,标出栈、堆、常量池中String str = "hello";和String s = new String("hello");的对象分布。面向对象本质特征
封装 ≠ 单纯加 private,重点是“边界控制”——比如ArrayList把elementData设为transient,再通过writeObject()自定义序列化逻辑;继承强调 is-a 关系与复用约束(单继承限制、构造器链式调用);接口与抽象类区别不能只答“多实现 vs 单继承”,要落到设计意图:接口定义能力契约(如Comparable),抽象类提供共性骨架(如AbstractList)。集合框架底层机制
HashMap是绝对重心:JDK 1.8 中数组 + 链表 + 红黑树的混合结构、哈希扰动函数(h ^ (h >>> 16))、扩容时的 rehash 过程、为什么初始容量是 2 的幂(配合& (n-1)快速取模)、负载因子 0.75 是时间与空间的折中。
对比记忆:ConcurrentHashMap如何避免全局锁(1.8 用synchronized锁 Node,而非分段锁);LinkedHashMap怎么维护插入顺序(双向链表 +accessOrder参数支持 LRU)。异常与内存模型基础
try-catch-finally中return的执行顺序(finally 总在 return 表达式计算后、实际返回前执行);检查型异常(IOException)强制处理的意义(API 设计者对调用方的契约提醒);static、final、volatile各自解决什么问题(类级别共享、不可变性、可见性+禁止指令重排,但不保证原子性)。
看大纲时两个实用动作
遇到每个知识点,立刻自问:“它解决了什么实际问题?”
例如:StringBuilder和StringBuffer的区别不只是“线程安全”,而是“在单线程高频拼接场景下,去掉同步开销能显著提升性能”。把零散问题串成因果链
比如从HashMap不安全 → 引出ConcurrentHashMap→ 再对比Collections.synchronizedMap()→ 最后落到CopyOnWriteArrayList的适用场景(读多写少、迭代时不抛ConcurrentModificationException)。这样记,才是活的体系。
不复杂但容易忽略。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











