1. JDK、JRE、JVM 到底有什么区别?(面试必问)

三个都是 Java 的"运行环境",是包含关系(俄罗斯套娃):

🍳 类比——开餐厅: JVM = 厨师本人(负责做菜);核心类库 = 现成调料(不用自己磨);
JRE = 厨房(厨师 + 调料,能出菜);JDK = 厨房 + 菜谱写作工具(能开发新菜)。
Java 程序运行全过程
// ① 写代码(.java 文件)
Hello.java
// ② 编译(javac 工具,JDK 提供)
javac Hello.java  → 生成 Hello.class(字节码)
// ③ 运行(java 命令 + JVM 执行字节码)
java Hello  →  JVM 逐条执行 → 输出结果

🎯 背诵版

  • JDK ⊃ JRE ⊃ JVM(包含关系)
  • javac 编译 .java → .class(字节码);java + JVM 执行 .class
  • 跨平台原理:不同系统装不同 JVM,字节码不变——"一次编译,到处运行"
  • JDK 版本:现在主流 JDK 8 / JDK 11 / JDK 17(LTS 长期支持版),学习装 17 即可

2. 怎么安装 Java 环境?(Windows 手把手)

  1. 下载 JDK:官网(oracle.com/java)或国内镜像,选 17 LTS 版,装 Windows x64 安装包(.exe)
  2. 安装:一路下一步(默认装到 C:\Program Files\Java\jdk-17)
  3. 验证:打开 CMD(Win+R 输入 cmd),敲 java -version 和 javac -version,能看到版本号就成功了
  4. 配置 IDE(强烈推荐):下载 IntelliJ IDEA(社区版免费)→ 新建项目选 Java → 选 JDK 路径 → 自动帮你管理编译运行
验证命令
> java -version
java version "17.0.10" 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 17.0.10+11)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.10+11, mixed mode, sharing)

> javac -version
javac 17.0.10

⚠️ 常见问题

  • "java 不是内部或外部命令" → 没装好或 PATH 没配(IDEA 一般自动处理,新手直接用 IDEA 最省事)
  • 装了多个 JDK 版本混乱 → 卸载重装一个,或用 IDEA 的项目 JDK 设置指定
  • 学习建议:先用 IDEA 写代码,别纠结命令行——命令行的意义后面学部署时自然懂

3. 第一个程序 HelloWorld,每一行是什么意思?

Hello.java —— 逐行注释版
// 第 1 行:public class 声明一个类,名字必须和文件名一致(Hello)
public class Hello {

    // 第 3 行:main 方法是程序的入口,程序从这里开始执行(固定写法,先背下来)
    public static void main(String[] args) {
        // 第 4 行:打印一行文字到屏幕
        System.out.println("Hello World!");
    }
}

// 运行结果:
Hello World!

逐行拆解:

🍳 类比:Hello 类 = 一间"菜谱房";main 方法 = 房里的"入口门";println = 门口的"广播喇叭"(把内容喊出来)。程序运行时:进门(main)→ 按顺序执行 → 走到喇叭喊出 Hello World → 结束。

🎯 新手最容易犯的错

  • 分号写成中文";" → 编译报错,全部换成英文 ;
  • 类名和文件名不一致 → Hello.java 里必须 public class Hello
  • 大括号不配对 → 数一数每个 { 都有对应的 }
  • 字符串没写引号 → "Hello" 双引号必须是英文的
  • 报错不可怕:编译器会告诉你第几行错——先看错误信息,再上网搜,这是程序员的基本功

4. 新手最常见的 5 个报错及解决

报错 原因 解决
class Hello is public, should be declared in a file named Hello.java类名和文件名不一致改名保持一致
';' expected(期望分号)语句末尾缺分号/中文分号补英文分号
reached end of file while parsing(意外结束)大括号不配对检查 {} 成对
cannot find symbol(找不到符号)拼写错误/大小写错检查拼写(System 不是 system)
Error: Could not find or load main class运行命令的类名写错/没编译先 javac 再 java,名字一致

✍️ 动手任务(今天必须完成)

  • 1. 装好 JDK17 + IDEA
  • 2. 新建项目,写 HelloWorld 并成功运行
  • 3. 故意改错(删分号、改类名),看报错长什么样,再改回来——提前见一见报错,以后就不怕了
  • 4. 用 println 分别输出:你的名字、1+1 的结果、一段自我介绍(3 行)
⚠️ 本页面由 AI 生成,内容仅供参考,请以官方文档和实际源码为准。