1. 字符串内容与引用
适用版本与边界:Java SE 8—21;按 Java SE 21 语言规范核对。
String a = new String("java");
String b = new String("java");
System.out.println(a == b);
System.out.println(a.equals(b));这里的任务是找到理解缺口,并完成一项可以复查的练习。题库共 24 道原创单选题,四组各 6 题。所有题目都有确定答案、解释、适用版本、站内深阅读与下一步任务。
无需 JavaScript 也能学习:静态阅读全部 24 题与完整解析。可以在自己的文档中先写答案,再对照解析,保存实际练习材料。
选择答案后查看解析,再按“下一步”完成练习,记下实际结果。
作答统计用于复习;实践记录由你填写,不用于预测面试结果。
已答 0 / 24 · 最近答对 0 · 最近答错 0 · 未答 24
曾答错 0 题,后来答对仍可回看。先补充缺失的实践材料,再回到相关题目检查理解。
正在准备本地进度;无需注册。完整题解可直接静态阅读。
把语言规则写成可运行的小例子,保留实际输出。
适用版本与边界:Java SE 8—21;按 Java SE 21 语言规范核对。
String a = new String("java");
String b = new String("java");
System.out.println(a == b);
System.out.println(a.equals(b));适用版本与边界:Java SE 8—21,Object/HashMap 契约;本题假设业务编号定义相等性。
适用版本与边界:Java SE 8—21;java.util.ArrayList/Arrays。
static void change(List<String> p) {
p.add("B");
p = new ArrayList<>(Arrays.asList("C"));
}
List<String> xs = new ArrayList<>(Arrays.asList("A"));
change(xs);
System.out.println(xs);适用版本与边界:Java SE 8—21,JLS 14.20.2 的 try-finally 完成规则。
static int value() {
try { return 1; }
finally { return 2; }
}适用版本与边界:Java SE 8—21,Arrays.asList;不等同于 Java 9+ 的 List.of。
适用版本与边界:Java SE 8—21;具体收集器行为和参数依 JVM 实现。
导出包含所选题目、答案、解析、版本、站内阅读链接及你的实践记录。切换主题只影响屏幕显示,导出范围独立选择。
| 主题 | 你会判断什么 | 完成后留下什么 |
|---|---|---|
| Java 基础 | 引用比较、哈希契约、参数传递、异常与集合行为、GC 请求边界 | 一段可运行代码、JDK 版本与实际输出 |
| 并发与事务 | 原子性、线程池排队、拒绝策略、代理事务、提交后消息、缓存竞态 | 受控执行时序、回滚或故障复现记录 |
| AI 检索 | 命中率口径、权限、删除传播、题集泄漏、引用证据和工具授权 | 固定文档版本、逐题证据与失败分类 |
| 项目表达 | 职责证据、性能比较条件、项目范围、幂等验证、RAG 能力边界 | 职责与材料对应表,标明实际完成和未验证部分 |
建议每次只处理一个理解缺口:先独立选择答案,阅读解释与版本条件,再按“下一步”操作。错题回看保留曾经答错的题目,后来答对也能继续复查。
“核心线程 2、最大线程 4、有界队列还未满,两个核心线程忙碌,再提交一个任务会先扩容吗?”在题设排除关闭及竞态时,答案是先入队。线程池指南 解释了判断顺序。
接下来的任务是用门闩阻塞两个核心线程,逐个提交任务,记录 poolSize、queue.size() 与拒绝时刻,结束后释放门闩并关闭线程池。在实践记录中填写代码位置、JDK 版本、实际日志以及还没解释清楚的现象。这里给出的是任务示例,没有替你执行实验或预填结果。
作答统计仅反映这组固定题的记录,不推断就业能力、面试通过率,也不会把填写过记录当作已验证完成。已经看过解析的题目再答对,也不代表掌握了所有实际场景。
用 工程指南 深入相同主题,把结果对应到 项目经历与证据。学习顺序可参考 学习路线,需要检查知识库时从 RAG 评估指南 建立自己的逐题回放记录。