☕ 第一章 Java开发入门

1.7 本章小结

📄 一句话概括

第一章没有让你学会"写 Java",但让你具备了学 Java 的全部条件:知道它是什么、环境能跑、亲手跑通过一次、讲得清背后的机制、工具已就位。本节是复习课,把 6 节拧成一股绳。


1. 六节串成的一条线(复述一遍)

1.1 是什么:Java = 先编译成字节码 + 各平台 JVM 解释执行 → 跨平台
1.2 装环境:JDK 17(含 javac 编译器 + JVM)+ JAVA_HOME/Path 两个环境变量
1.3 跑程序:手写 HelloWorld.java → javac 编译出 .class → java 运行 → 屏幕出字
1.4 懂机制:JVM 四站(类加载→校验→解释器+JIT→内存区),GC 自动倒垃圾
1.5 配工具:IDEA 社区版,绿三角 ▶ 一键替代手动四步
1.6 上外挂:通义灵码——讲解员和陪练,看懂再采纳,关掉能独立写才算会

毕业标准只有一条:能不看笔记,向别人讲清一个 Java 程序从"写代码"到"屏幕显示"的完整旅程—— HelloWorld.java →(javac)→ HelloWorld.class →(JVM 类加载/校验/解释+JIT)→ 机器码 → CPU 执行 main → println 输出。

2. 核心概念速查表(考前 3 分钟版)

概念 一句话定义 出处
JDK Java 开发工具包 = 编译器 javac + JRE,写代码必须装 1.1 / 1.2
JRE Java 运行环境 = JVM + 核心类库,只跑不写装它就够 1.1 / 1.4
JVM Java 虚拟机,"随身翻译官",把字节码翻成各平台机器码 1.1 / 1.4
字节码 .class 文件里的内容,JVM 专属中间语,平台无关 1.1 / 1.4
跨平台 一次编译,到处运行——靠的是字节码 + 各平台各装一个 JVM 1.1 / 1.4
JAVA_HOME JDK 安装目录的别名环境变量,Path 和其他软件都认它 1.2
Path Windows 的"程序花名册",cmd 敲命令按它找 .exe 1.2
main 方法 程序唯一入口,CPU 执行的起点 1.3
JIT 即时编译器,把反复执行的热点字节码编译成机器码缓存 1.4
GC 垃圾回收器,自动回收堆里失去引用的对象 1.4
IDEA JetBrains 出的 IDE(社区版免费),机械活自动化 1.5
psvm / sout IDEA 代码模板:main 方法 / System.out.println 1.5
通义灵码 阿里免费 AI 编程助手,补全+讲解+问答 1.6

3. 命令与操作速查

java -version / javac -version     验证 JDK(看到 17 即成功)
cd /d I:\JavaCode\day01            cmd 切换目录(跨盘要 /d)
javac HelloWorld.java              编译(成功 = 没消息 + 多出 .class)
java HelloWorld                    运行(跟类名,不带 .class)
javac -encoding UTF-8 xxx.java     源码含中文时的编译姿势
psvm + Tab / sout + Tab            IDEA 快速生成 main / 输出语句
▶ 绿色三角                         IDEA 一键编译运行

4. 本章踩过的坑(复习专用)

⚠️ 第一章五大名坑,看一眼确认自己已免疫
  1. .java.txt:不显示扩展名导致文件名造假(解法:资源管理器勾选"文件扩展名")——1.3
  2. 编码GBK的不可映射字符:记事本 UTF-8 vs javac 默认 GBK(解法:-encoding UTF-8)——1.3
  3. 'javac' 不是内部或外部命令:环境变量没配好或没重开 cmd(90% 是后者)——1.2
  4. 中文标点:;"" 当 ; "" 用,编译器全不认——1.3
  5. 改了源码没重新编译:跑的还是旧字节码("我明明改了"综合症)——1.3

5. 毕业自检清单

❓ 自检 1:不看笔记,说出 JDK、JRE、JVM 谁包谁,各自干什么

JDK ⊃ JRE ⊃ JVM。JVM 干翻译执行;JRE = JVM + 类库(够跑);JDK = JRE + 编译器等开发工具(够写)。写代码装 JDK。

❓ 自检 2:为什么 Windows 编译的 .class 拷到 Linux 上能直接跑?

字节码平台无关,面向 JVM 而不是 CPU;Linux 装了 JVM 就能翻译执行。C 的 .exe 就不行——它已经是 Windows 机器码。

❓ 自检 3:main 方法所在的这行咒语,每个词现在认识几个?

public(公开的,谁都能调)、static(不用创建对象,类级别——第五章细讲)、void(不返回任何东西)、main(入口的名字,固定)、String[] args(命令行传进来的参数,先当摆设)。认识一半以上合格,全部搞懂要等第五章。

❓ 自检 4:Java 是编译型还是解释型语言?标准答案怎么说?

都不是/都是——先编译成字节码,再由 JVM 解释执行的混合机制,配合 JIT 即时编译,越跑越快。这是面试高频题。

❓ 自检 5:现在给你一台新电脑,从零到跑通 Hello World,步骤能默写吗?

装 JDK 17(勾 JAVA_HOME)→ 配/验证 Path → cmd 敲 java -version 验证 → 写 HelloWorld.java(类名=文件名、英文标点)→ javac 编译 → java 运行。默写得出来,第一章就真毕业了。


6. 通向第二章

第一章解决"工具就位、原理打通";第二章开始解决"会写":

第二章 变量与数据类型 → 程序终于能"记住"东西了
   ├─ 变量:给内存里的格子贴标签(连 1.4 的"堆/栈")
   ├─ 八种基本类型:int、double、boolean……各占几格、各装什么
   └─ 类型转换:大杯倒小杯会洒(精度丢失)
💡 学习方式不变

正文 → 动手 → 自测题先答再展开。从第二章起,每节课后练习都在 IDEA 里做(1.5 的投资开始回本),卡壳先用 AI 讲解员(1.6),再回来问我。


7. 相关笔记

Java基础 #Java入门 #本章小结 #第一章