楼层: 首页/ 软件技术/ Java 基础/ 为什么学 Java,以及把环境跑起来
01

为什么学 Java,以及把环境跑起来

Why Java · JDK / JRE / JVM · Hello World

先泼一盆冷水:Java 不是"最好玩"的语言,语法啰嗦、样板代码多,写个空 main 都要整行 public static void main(String[] args)。但它是企业界的承重墙——银行、电商、政务、中台,背后跑的一大半是 Java。它的优势是:稳定、就业岗位多、生态成熟,你今天学的东西,十年后大概率还在用。

论三个名词先分清:JDK、JRE、JVM

新手第一周必被这三个缩写绕晕。其实是一层套一层的关系,像套娃:JVM(Java Virtual Machine,Java 虚拟机)是真正跑字节码的那台"虚拟电脑";JRE(Java Runtime Environment)= JVM + 核心类库,只负责"跑",不负责"编译";JDK(Java Development Kit)= JRE + 编译器(javac)+ 调试工具,是"开发套装"。

一句话记:装软件、只跑不写代码,用 JRE;自己写代码、要编译,装 JDK。现在官方发行版早就把三者打包在一起了,你下载一个 JDK 就行,不用纠结。

版本怎么选:Oracle 每 6 个月发一个新版本,但每三年出一个 LTS(Long-Term Support,长期支持版)。生产环境一律选 LTS。目前学习基线是 JDK 21 LTS(2023 年 9 月发布),最新 LTS 是 JDK 25 LTS(2025 年 9 月发布,以官网最新稳定版为准)。本页代码默认按 JDK 21 写,标注 Java 16+ 的特性即 16 及以上可用。

环境搭建:三步搞定

第 1 步:下载 JDK → 选一个发行版
推荐免费、可商用的发行版:Eclipse Temurin(Adoptium)、Amazon Corretto、Azul Zulu。
大白话:Oracle 官方 JDK 现在商用要付费,别给自己找事。去 Adoptium 下个 Temurin 21 LTS,一路下一步装完。装完在终端敲 java -version,能看到版本号就算成功。
第 2 步:装 IDE → IntelliJ IDEA Community 免费版
社区版(Community)足够入门;企业版(Ultimate)要钱。
为什么用 IDEA 不用记事本:写 Java 的样板代码又臭又长,IDE 会帮你自动补全、一键 main、一键运行。前期别装 Eclipse 给自己加戏,IDEA 是事实标准。
第 3 步:跑通 Hello World → 见下方代码
在 IDEA 里新建一个 Java 类,把下面的代码贴进去。
跑通那一刻:你就入门了一半。剩下的都是在这个基础上往上叠零件。

Hello.java:第一个程序,以及它的"编译 → 运行"全过程

// 文件名必须叫 Hello.java,因为 public class 名字叫 Hello
public class Hello {
    // main 方法是程序入口,固定写法,背下来
    public static void main(String[] args) {
        System.out.println("Hello, Java! 我终于跑起来了");
    }
}

在终端里手动编译运行(理解 IDEA 在背后替你干了什么)

# 第 1 步:javac 把 .java 源码编译成 .class 字节码
javac Hello.java

# 第 2 步:java 命令启动 JVM,执行这个类
java Hello
Hello, Java! 我终于跑起来了

论编译运行过程到底发生了什么

你写的 Hello.java 是给人看的。javac 这个编译器把它翻译成 JVM 听得懂的 Hello.class 字节码——注意,字节码不是机器码,不能直接被 CPU 跑。真正运行时,JVM 再把字节码翻译成当前操作系统的机器指令。

这就是"Write Once, Run Anywhere(写一次,到处跑)"的原理:Windows 上编译出来的 .class,扔到 Linux 服务器上,只要那台机器装了 JVM,就能跑。你电脑里那个 JVM,就是 Java 的"翻译官"。

环境常见小问题:三条自救口诀

问题 1:终端敲 java -version 报 "command not found"
  → JDK 没装,或装了但 PATH 没配。重装时勾选"加入 PATH"。

问题 2:javac Hello.java 报 "error: code too large" 之类离谱错误
  → 多半是文件编码不对,或者文件名和 public class 名对不上。

问题 3:IDEA 里右键 Run 没反应 / 报 "No main class"
  → 类名、文件名一致;确认 main 方法签名一字不差:
    public static void main(String[] args)
新手第一坑

文件名和 public 类名不一致,编译直接报错。你写 public class Hello,文件名就必须是 Hello.java,大小写都不能差。IDE 里右键新建类会自动帮你对上,命令行手搓时最容易栽在这。另外,Java 是强类型语言,每个变量都要先声明类型,忘加分号、漏花括号都是高频报错——别慌,IDE 会用红线标出位置。

章末面试 · 环境与编译(4 题)

1.(概念题)JDK、JRE、JVM 三者什么关系?我自己开发要装哪个?

查看答案

答案:JVM 跑字节码,JRE = JVM + 核心类库(只跑不编),JDK = JRE + 编译器和工具。开发装 JDK。JDK 11 起不再单独发布 JRE。

2.(选择题)下面哪个是 LTS 版本?A. JDK 23 B. JDK 21 C. JDK 24 D. JDK 22

查看答案

答案:B。21 是 2023.9 发布的 LTS。22/23/24 都是 6 个月生命周期的非 LTS,生产别用。

3.(排错题)敲 javac Hello.java 报 class Hello is public, should be declared in file Hello.java,怎么回事?

查看答案

答案:文件名和 public 类名不一致。public class Hello 必须放在 Hello.java 里,大小写都要对上。

4.(对比题)Oracle JDK 和 Adoptium Temurin 有什么区别?

查看答案

答案:两者都基于 OpenJDK 源码编译。Oracle JDK 是 Oracle 打的包,商用要付费订阅;Temurin 是 Eclipse 基金会打的,免费可商用,功能等价。初学选 Temurin。