卷I 第2章 Java 编程环境
建立 JDK 25 安装、javac/java 命令、IDE 与 JShell 之间一致且可复现的源码—字节码—运行链。 覆盖5个正式节点,并通过Java 25代码、故障注入和复位证据验收。
为什么从“JDK 工具链复现台”开始
卷I 第2章 Java 编程环境要解决的不是 API 名称记忆,而是建立 JDK 25 安装、javac/java 命令、IDE 与 JShell 之间一致且可复现的源码—字节码—运行链。 直觉上,编译成功只排除了部分静态错误;运行一次成功也没有覆盖空值、极值、取消、并发、资源关闭、区域、协议与版本边界。
先预测:把执行入口从“命令行”切换为“IDE构建”,环境一致率与隐式配置风险会如何变化?随后只改这一项运行探针;结果不符时修改机制假设,不移动输入边界。
来源、版次与独立重写边界
InformIT/Oracle Press 的卷 I 产品页与卷 II 产品页确认 Cay S. Horstmann《Core Java》第14版全两卷于2025年10月出版、面向 Java 25,并给出25章、214个正式章/节标题。未取得本章原书正文;产品页只限定标题和小节范围,目录核对不被表述为正文忠实。
本页技术事实由Java SE 25 API、Java SE 25 语言规范、Java SE 25 JVM 规范与OpenJDK 25 项目页中的适用部分独立复核。中文解释、代码、图示、交互、参数、练习与答案均为独立教学重写;Oracle 文档许可证不被误报为原书授权。
本章机制与六个检查点
、、、、、。
卷I 第2章 Java 编程环境以“源码、JDK版本、编译选项和运行类路径四项均可重建”为不变量。执行入口与环境显式度是离散输入,环境一致率是主结果,隐式配置风险必须单独报告;这些交互分数是课程中的透明反馈,不是原书或JDK性能基准。
官方目录逐项深读
Chapter 2: The Java Programming Environment
四级证据 1/5。 Chapter 2: The Java Programming Environment:Chapter 2: The Java Programming Environment必须放进识别JDK—编译源码—检查字节码—运行类—交互验证这条本章机制链,而不能从目录词直接推断实现保证。本节点以“JAVA_HOME”为观察焦点;运行javac --release 25 Hello.java && java Hello或等价最小探针后,保存输入、诊断、实际结果和不适用边界。
验证 Chapter 2: The Java Programming Environment 时,先预测它在 识别JDK 阶段会怎样改变环境一致率;只切换执行入口或环境显式度中的一项。若故障“IDE 使用 JDK 25 而终端仍调用旧 javac,导致同一源码得到不同诊断”没有产生预期首错,就撤回当前解释并检查替代原因。
2.1 Installing the Java Development Kit
四级证据 2/5。 2.1 Installing the Java Development Kit:安装 JDK 后要同时核对 java 与 javac 的真实路径、版本和目标发行版,避免仅看环境变量。本节点以“javac”为观察焦点;运行javac --release 25 Hello.java && java Hello或等价最小探针后,保存输入、诊断、实际结果和不适用边界。
验证 2.1 Installing the Java Development Kit 时,先预测它在 编译源码 阶段会怎样改变环境一致率;只切换执行入口或环境显式度中的一项。若故障“IDE 使用 JDK 25 而终端仍调用旧 javac,导致同一源码得到不同诊断”没有产生预期首错,就撤回当前解释并检查替代原因。
2.2 Using the Command-Line Tools
四级证据 3/5。 2.2 Using the Command-Line Tools:命令行链把编译器选项、类路径或模块路径与实际输出显式化,是复现 IDE 行为的基线。本节点以“classpath”为观察焦点;运行javac --release 25 Hello.java && java Hello或等价最小探针后,保存输入、诊断、实际结果和不适用边界。
验证 2.2 Using the Command-Line Tools 时,先预测它在 检查字节码 阶段会怎样改变环境一致率;只切换执行入口或环境显式度中的一项。若故障“IDE 使用 JDK 25 而终端仍调用旧 javac,导致同一源码得到不同诊断”没有产生预期首错,就撤回当前解释并检查替代原因。
2.3 Using an Integrated Development Environment
四级证据 4/5。 2.3 Using an Integrated Development Environment:IDE 的 Project SDK、语言级别与构建工具 JVM 可能不同,必须分别记录而不能只截一张设置图。本节点以“IDE SDK”为观察焦点;运行javac --release 25 Hello.java && java Hello或等价最小探针后,保存输入、诊断、实际结果和不适用边界。
验证 2.3 Using an Integrated Development Environment 时,先预测它在 运行类 阶段会怎样改变环境一致率;只切换执行入口或环境显式度中的一项。若故障“IDE 使用 JDK 25 而终端仍调用旧 javac,导致同一源码得到不同诊断”没有产生预期首错,就撤回当前解释并检查替代原因。
2.4 JShell
四级证据 5/5。 2.4 JShell:JShell 适合验证表达式和 API 探针,但片段状态与完整编译单元不同,结论仍需回到可重建源码。本节点以“JShell”为观察焦点;运行javac --release 25 Hello.java && java Hello或等价最小探针后,保存输入、诊断、实际结果和不适用边界。
验证 2.4 JShell 时,先预测它在 交互验证 阶段会怎样改变环境一致率;只切换执行入口或环境显式度中的一项。若故障“IDE 使用 JDK 25 而终端仍调用旧 javac,导致同一源码得到不同诊断”没有产生预期首错,就撤回当前解释并检查替代原因。
Java 25 最小可执行切片
javac --release 25 Hello.java
javap -c Hello
java -cp . Hello该切片围绕“javac --release 25 Hello.java && java Hello”保留本章最小机制,不承担完整生产实现。运行时固定 Java 25 发行版、操作系统、编译选项、模块或类路径和输入;保存标准输出、标准错误、退出码、资源状态与实际耗时。
unit: jct-14e-v1-02-programming-environment
axis_a: 执行入口
axis_b: 环境显式度
fault: IDE 使用 JDK 25 而终端仍调用旧 javac,导致同一源码得到不同诊断
invariant: 源码、JDK版本、编译选项和运行类路径四项均可重建
scenarios: [baseline, fault, recovery, reset]三个必须主动触发的误区
练习、答案与目录节点验证
术语复核与本章回顾
完成卷I 第2章 Java 编程环境意味着能解释建立 JDK 25 安装、javac/java 命令、IDE 与 JShell 之间一致且可复现的源码—字节码—运行链。,能运行并改动章专属切片,能主动制造“IDE 使用 JDK 25 而终端仍调用旧 javac,导致同一源码得到不同诊断”,还能凭可重放证据完成恢复与交接。只会复述目录或展示一次成功输出,均未满足本章门禁。