1772 字
约 5 分钟
3
S04-X02 · 八股速查与跨系列索引

定位:附录型索引,可跳读。只做"题 → 一句话答案 → 正文位置"。
前置:S04-B01–B08。
覆盖旧文:22,282 点 —— 6 张面试大卡(A-2313/2600/553/1817/1818/1547)+ 星球/总结/简介类卡 + 20 张并发卡(→ S05)。
上一篇:S04-B08 · 字符串、常量池与编码
下一篇:S04-J01 · List 与迭代器源码。

用法:先读正文再背答案。只有答案没有机制,追问一层就露馅。


1. 基础语法与类型(对应 B01–B04)

# 问题 一句话答案 正文
1 JDK / JRE / JVM 区别 JDK 含编译器,JRE 只运行,JVM 是执行字节码的虚拟机 B01 §1
2 为什么能"一次编写到处运行" 编译成字节码 + 各平台各自的 JVM B01 §1
3 javap 有什么用 反汇编字节码,看编译器插入了什么 B01 §2
4 装箱发生在哪 编译期插入 Integer.valueOf B01 §2
5 Integer a=127,b=127; a==b true(缓存 −128..127) B02 §2
6 为什么 128 就不相等 超出缓存范围 → 新对象 B02 §2
7 Integer == int 自动拆箱比数值;左侧 null 会 NPE B02 §3
8 Java 是值传递还是引用传递 只有值传递(对象传引用的副本) B02 §4
9 i = i++ 结果 原值(先取值后赋值) B03 §2
10 && 与 & 前者短路,后者不短路 B03 §3
11 switch 默认行为 穿透(需 break;箭头语法不穿透) B03 §4
12 -5 % 2 -1(符号随被除数) B03 §5
13 >> 与 >>> 算术右移(保符号)/ 逻辑右移(补 0) B03 §5
14 new Child() 初始化顺序 父静态→子静态→父实例→父构造→子实例→子构造 B04 §2
15 静态块执行几次 类加载时一次 B04 §3
16 数组的 length 是字段,不是方法 B04 §4
17 final int[] a 能否改元素 能(引用不可变,内容可变) B04 §5
18 静态内部类与成员内部类 前者不持有外部实例引用 B04 §3

2. 面向对象(对应 B05–B06)

# 问题 一句话答案 正文
19 三大特性各解决什么 封装(状态保护)/继承(复用)/多态(解耦) B05 §1
20 实例方法与静态方法分派 运行期(实际类型)/ 编译期(声明类型) B05 §2
21 字段有多态吗 没有,按声明类型访问 B05 §2
22 多态如何实现 虚方法表 + 动态分派 B05 §3
23 重写与重载区别 运行期 vs 编译期绑定;子类 vs 同类 B05 §4
24 f(null) 选哪个重载 最具体的那个(编译期决定) B05 §4
25 优先继承还是组合 组合(避免脆弱基类问题) B05 §5
26 接口 vs 抽象类 多实现/契约 vs 单继承/状态 B06 §1
27 default 方法的作用 加方法而不破坏已有实现 B06 §2
28 Lambda 的三条边界 函数式接口/effectively final/this 指外部类 B06 §3
29 枚举比常量强在哪 类型安全、可带字段方法、天然单例 B06 §4
30 Optional 用在哪 返回值(不要用于字段/参数) B06 §5

3. 异常(对应 B07)

# 问题 一句话答案 正文
31 受检 vs 非受检 调用方能否合理恢复 B07 §3
32 Error 该捕获吗 不该(JVM 级问题) B07 §3
33 finally 里 return 覆盖返回值、吞异常 B07 §2
34 丢失原始栈的写法 new RuntimeException(e.getMessage()) B07 §4
35 try-with-resources 优势 自动关闭 + 异常抑制 B07 §5
36 自定义异常要素 合适父类 + 上下文 + cause B07 §6

4. 字符串(对应 B08)

# 问题 一句话答案 正文
37 new String("x") == "x" false;intern() 后 true B08 §2
38 为什么 final String 拼接能折叠 编译期常量 B08 §2
39 循环拼接为什么慢 每次复制整个字符串,O(n²)(实测差 189 倍) B08 §3
40 不可变的收益 安全共享/可做 key/常量池复用 B08 §4
41 getBytes() 不带参数 依赖平台默认编码,跨环境出错 B08 §5
42 String 内部编码 UTF-16(char 是 16 位) B08 §5

5. 并发与 JVM:不在本系列,指向 S05

这 20 张卡(5,174 点)内容属并发/JVM,避免与 S05 重复,此处只做索引登记。

主题 旧卡 去向
并发面试题(73 道 / 答案) A-2314 A-2605 A-2604 S05
《30天速通Java》并发篇 A-2333 S05
锁(ReentrantLock/读写锁/Condition) A-1605 A-1602 A-1590 A-929 S05
CAS / LockSupport / ForkJoin A-1586 A-1596 A-1593 S05
线程状态 / Callable-Future / 定时任务 A-1610 A-1585 A-1603 S05
ConcurrentLinkedQueue A-1589 S05
CMS GC 问题分析 A-1631 S05
Unsafe A-1612 S05
JVM 背诵版八股 A-1820 S05
多线程入门(王者类比) A-1614 S05
并发学习路线 A-1892 S05

6. 非知识性卡片登记(星球/总结/简介类)

卡 性质 处理
A-1921 星球图谱 社区内容索引 仅登记,不入正文
A-1915/1916/1919/1920/1922 月度总结 个人总结 仅登记
A-1931/1934/1832/1835 星球/小册推广 仅登记
A-2425/1917 面试指南专栏目录 仅登记
A-2335《30天速通Java》 超长合辑(1,876 点) 按主题拆到 B 系列对应小节,剩余进本附录

7. 统计

分类 点数
本附录承载 22,282(含跨系列 5,174)
其中真正"本系列知识" 约 17,108(其余为并发卡与非知识性登记)

8. 下一篇

S04-J01 · List 与迭代器:ArrayList/LinkedList/ArrayDeque 源码

进阶层开始:从"会用集合"到"读得懂源码"。第一篇讲 List 的扩容、迭代器的 fail-fast(实测 CME)、以及 subList 的视图陷阱。


本篇属于系列《S04 · Java 语言核心》,是基础层附录。旧文来源:6 张面试大卡 + 星球/总结类卡 + 20 张并发卡(→S05)。

S04-X02 · 八股速查与跨系列索引
https://www.clxhxhhr.top/posts/5240/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。