JDK JDK 学习手册8 → 27 · JDK 专用学习站
INTERVIEW · JDK 11

面试模块:15 道题,接住下一问

先自己回答,再展开对照。答案里带追问与版本陷阱,比结论更重要。
使用方式按主题筛选,先答后看。能回答「为什么」和「版本边界」才算过关;只背结论会在追问处露馅。
Q01

var 是动态类型吗?它到底在什么时候确定类型?

var 与类型推断高频JEP 286JEP 323
Q02

哪些位置不能用 var?lambda 参数用 var 有什么约束?

var 与类型推断进阶JEP 286JEP 323
Q03

JDK 11 的 HttpClient 应该如何管理生命周期?为什么不能 try-with-resources?

HttpClient 与网络高频JEP 321
Q04

send 和 sendAsync 的底层管线有区别吗?异常与超时怎么传播?

HttpClient 与网络高频JEP 321
Q05

设置了 HTTP_2,响应就一定是 HTTP/2 吗?连接池的复用单位是什么?

HttpClient 与网络进阶JEP 321
Q06

isBlank、strip、lines、repeat 各自解决什么问题?和旧 API 有什么差异?

字符串与文件进阶
Q07

Files.readString / writeString 的默认编码和异常行为是什么?大文件怎么办?

字符串与文件进阶
Q08

List.of、Arrays.asList、unmodifiableList、List.copyOf 有什么区别?

集合工厂与不可变高频JEP 269
Q09

Map.of 有哪些数量与重复键限制?为什么不是编译错误?

集合工厂与不可变进阶JEP 269
Q10

命名模块、自动模块、未命名模块有什么区别?类路径应用为什么读不到模块路径上的类?

JPMS 与封装高频JEP 261
Q11

exports 和 opens 有什么区别?JDK 11 的非法反射为什么只是警告?

JPMS 与封装高频JEP 261JEP 396JEP 403
Q12

ZGC 如何做到低暂停?着色指针和读屏障各自解决什么问题?

GC 与运行时高频JEP 333JEP 377JEP 439
Q13

JDK 11 下 G1、ZGC、Epsilon 应该怎么选?

GC 与运行时进阶JEP 333JEP 318
Q14

升级到 JDK 11 时,最常见的移除项和弃用项有哪些?

版本迁移高频JEP 320JEP 335JEP 336
Q15

--release 和 -source/-target 有什么本质区别?为什么迁移时优先用 --release?

版本迁移进阶JEP 247

怎么刷这套题HOWTO

  1. 先按主题筛:一次只攻一个主题,避免题目切换导致理解断裂。
  2. 先自答再展开:用 30 秒说出结论 + 一条原因 + 一个例子。
  3. 重点看追问:追问模拟面试官的第二层问题,能接住才算真会。
  4. 最后看版本陷阱:同一 API 在不同 JDK 的状态差异,是最容易答错的点。
  5. 标记掌握:不确定的不要标记;隔天再复习一遍。

难度说明LEVELS

  • 高频:面试中出现频率高,或属于 JDK 11 的核心卖点。
  • 进阶:需要理解机制、版本边界或实现取舍,答好能拉开差距。

JDK 学习手册 · JDK / Java 专用学习站 · 纯静态 · 双击 index.html 即可使用

本站专注 JDK 版本演进与 Java 教学,非 Oracle / OpenJDK 官方站点。版本数据来自 OpenJDK 官方 Features 表;课程示例已在对应本机 JDK 实测。构建日期 2026-11-12。