Java 开发 快速上手

基本概念

Java 语言/Java SE/JDK/JRE

首先我们得搞清楚下面这几个名词的概念:

🔶 Java 语言 是一种编程语言规范(语法 + 语义)


Java SE (Java Standard Edition) 是“语法规则 + 标准类库 + 运行规范”的完整平台。写 Java 程序时你实际用到的 90% 东西都不是纯语言,而是 Java SE 提供的类库。

// 下面每一行都属于 Java SE 提供的标准类库,不是语言本身
import java.util.List;        // Java SE
import java.time.LocalDate;   // Java SE
import java.net.http.HttpClient; // Java SE(Java 11 引入)

record Person(String name, int age) { }  // ← 这才是纯 Java 语言特性(Java 16)

public static void main(String[] args) {
    var now = LocalDate.now();   // var 是语言特性,LocalDate 是 Java SE 类库
    System.out.println(now);     // System.out 是 Java SE 提供的
}

所以:我们嘴上经常说的 Java 语言,实际上指的就是这个 Java SE 开发规范,而不是单纯的 Java 语法规范。

Java SE 语言规范是由一个叫 JCP(Java Community Process) 的组织来制定和维护。

Oracle 公司(作为 Java 的拥有者)是 这个组织的主要推动者,提出 90% 以上的 JSR(Java Specification Request),牵头编写规范。

其它公司(Red Hat、IBM、SAP、Microsoft、Google 等)参与制定。

Oracle 拥有 Java 商标拥有者 + JCP 最终否决权 ,所以语言规范最终是 Oracle 说了算。


JDK (Java Development Kit) 是开发和运行Java 语言的官方工具集合。

Java SE 是“规范和标准”,而 JDK 是“这个规范的参考实现 + 开发工具包”。

简单说:

没有 JDK 你写不了、编译不了、运行不了 Java 程序,所以你要编译和运行代码必须安装一个 JDK。


🔶 JRE (Java Runtime Environment) 是运行Java 语言(编译出来的.class 文件)的环境,不能开发和编译java语言的代码。 它是 JDK 的子集。现在 JRE 基本退出历史舞台了,所有人(包括只想运行程序的人)都直接装一个 JDK 就够了。

JDK 版本 和 Java 语言版本的关系

Java 语言版本(即 Java SE) 和 JDK 都是 有版本的。

下面是各版本发布时间表:

发布年月JDK 版本号对应的 Java SE 版本是否 LTS备注
2014.03JDK 8Java SE 8是(经典 LTS)
2017.09JDK 9Java SE 9从此版本号彻底对齐
2018.03JDK 10Java SE 10
2018.09JDK 11Java SE 11是(LTS)
2019.03JDK 12Java SE 12
2019.09JDK 13Java SE 13
2020.03JDK 14Java SE 14
2020.09JDK 15Java SE 15
2021.03JDK 16Java SE 16
2021.09JDK 17Java SE 17是(目前企业主流 LTS)
2022.03JDK 18Java SE 18
2022.09JDK 19Java SE 19
2023.03JDK 20Java SE 20
2023.09JDK 21Java SE 21是(LTS)
2024.03JDK 22Java SE 22
2024.09JDK 23Java SE 23
2025.03JDK 24Java SE 24已发布
2025.09JDK 25Java SE 25是(当前最新 LTS)当前最新版本

🔰如何查看当前运行环境的版本?

java -version
# 示例输出(JDK 21):
java version "21.0.2" 2024-01-16 LTS
# 示例输出(JDK 17):
java version "17.0.12" 2023-07-18 LTS

目前,Java SE 每6个月出一个新版本,语言特性随之更新

目前,JDK 版本号和 Java 语言特性版本号基本保持一致了,JDK 版本号 就等于 Java 语言特性版本号

比如你装了 JDK 21,里面默认支持的语法就是 Java 21 的语法。最高能用 Java 21 语法。

一个 JDK 也可以通过参数支持更老版本的 Java 语言(向下兼容)。

比如:你装了 JDK 21,可以通过参数编译成更老的版本:

javac -source 8 -target 8 Hello.java   # 编译成 Java 8 兼容的字节码
javac --release 17 Hello.java          # Java 9+ 推荐方式

其中 8,11,17,21, 25 这4个版本,都是 LTS (Long-Term Support)版本, 也就是 长期支持版 ,提供长达数年的安全更新、Bug 修复和兼容性保障,无功能新增,确保企业系统的长期稳定运行。

而非LTS版,通常只提供半年左右。所以企业开发基本都是 使用 LTS 版本。


目前推荐版本(2025 年 11 月):


2025 年,企业中 Java 17 的采用率达 61%,已成为事实标准(从 2023 年的 9% 爆炸式增长)。

它平衡了稳定性和现代特性(如记录类、文本块),支持时长至 2029-2031 年(视厂商)。

Java 21(LTS)紧随其后(45% 采用率),适合追求虚拟线程等新功能的团队。

JDK 发行版

开发Java程序,必须先安装 JDK 开发包 。

但是 JDK 不是天上掉下来的,是由需要组织企业来开发实现的。

JCP 组织确定了 新版本 JavaSE 规范过程中,一个叫 OpenJDK 的开源社区(由 Oracle 发起,Red Hat、IBM、Apple、SAP、Azul、Microsoft、Amazon 等公司工程师共同维护) 会同步实现具体的 OpenJDK 开发包

所以,它和 “JCP 正式通过规范” 几乎是同步完成的。OpenJDK 开发包都是首先(也是最快、最完整)实现新版本的 Java SE 规范

Oracle 既是 JCP 的最大推动者(提 90% 的 JSR),又是 OpenJDK 最大的代码贡献者(占 70–80% 提交)


这个OpenJDK 社区的“最原始发行版”(指官方从 https://jdk.java.net/ 下载的二进制构建)是免费的、直接可用的。

但它更适合开发者测试或短期使用,因为:支持时长短,平台支持有限(主要 x64 Linux/Windows/macOS,少 ARM),性能优化少,测试少等等, 它更像一个快速预览版。


各JDK 厂商/社区 会基于 OpenJDK(开源项目)构建自己的发行版,提供优化、更多的测试 更长期的补丁支持,并且更多平台发布包。

所以企业基本会选用这些厂商的发行版,而不是 OpenJDK 社区的“原始发行版”。

这些发行版底层源码 99.9% 都来自同一个 OpenJDK 仓库, 100% 兼容 Java SE 规范(通过 TCK 测试)。

功能上几乎无差异,只是编译参数不同,加了不同的补丁/优化。主要区别在于支持时长、许可和商业支持不同。

我们日常使用这些不同发行版,感觉上几乎没有什么差别。


其中 Oracle JDK 是官方商业版,但许可费用高。


根据 2025 年的最新行业报告:

Oracle JDK 的市场份额持续下降(从 2020 年的 75% 降至 2024 年的 21%),

而社区驱动的发行版(如 Eclipse Temurin 和 Amazon Corretto)主导市场。

其中 Eclipse Temurin(Eclipse Adoptium 项目)2024 年其市场份额达 18%(YoY 增长 50%,从 12% 上升),在 2025 年继续领跑企业采用率(预计 20-25%)。

它被视为“中立、可靠的事实标准”,广泛用于容器/K8s 环境,支持多平台(ARM、RISC-V 等),并通过 TCK 和 AQAvit 测试。

目前 Java开发最热门的IDE IntelliJ IDEA 安装时自带内置 JDK 就是 Eclipse Temurin

安装 IDE/JDK

IntelliJ IDEA 是 Java 开发的最推荐 IDE,使用率高达 84%,远超其他工具,所以IDE 我们就使用它 。

点击这里,打开官网

然后点击下载安装即可。

刚安装的用户有30天的 Pro 版试用,试用期结束后,可以当普通版使用,基本也够用了。


IntelliJ IDEA安装包内置 JBR(JetBrains Runtime) 版本的JDK。这是 Temurin JDK 的 JetBrains 修改版。

安装完 IDEA 的那一刻,就自动在你电脑上了,2025年内置的 JDK版本是 21。 如果这就是你需要的JDK版本,可以直接使用它。

JetBrains 官方说明:JBR 是用来跑 IDE 的,不强迫你项目也用它。

所以,新建项目时,候选JDK列表里面,缺省不会显示。

如果你想要使用它,需要手动添加JDK选择它。


如果你要使用其它版本的JDK,需要下载安装。

✳️ 安装JDK

🔸 方法1:去JDK发行版的官网下载

可以去各大 JDK 发行版官网下载需要的 JDK 版本。

比如: 点击这里,到Temurin官网,下载安装 JDK25

安装过程很简单,基本一路 下一步 就可以了。


🔸 方法2:在IDEA中安装

可以直接在 IDEA 里面安装 JDK。

点击菜单栏的 File -> Project Structure...

然后选择左侧的 Platform Settings -> SDKs

然后点击上方的 + 号,选择 Download JDK,会弹出一个对话框;

在弹出的对话框中,选择你想安装的

Version: JDK 版本(比如 17、21、25 等),

Vendor:JDK 发行版(比如 Temurin、Amazon Corretto、GraalVM 等),

然后点击 Download 按钮,IDEA 会自动下载安装好 JDK。

开发运行示例

IDEA 里面新建一个项目,在 New Project 对话框中,语言选择 java,

Name:项目名称可以添加 hello

Location 路径选择一个合适的路径,作为项目的存储位置;

Build system 保持缺省选择 Intellij

虽然 MavenGradle才是企业项目常用的构建工具。

但是,目前我们是Java 初学者,先不需要搞的那么复杂。

等后面 做项目锻炼时,再使用它们。

JDK 选择你刚才安装的 JDK 版本,教程这里,我们选择 25 版本的 JDK;

选择 Java 25 是因为:它是目前最新的 LTS 版本,支持最新的语言特性。

有些新特性,比如精简源文件等,对初学者循序渐进学习很有帮助。

不要勾选 Add sample code

可以手动让项目使用 IDEA 自带的 Temurin JDK:

  1. 点JDK路径右边的下拉图标, Add SDK from Disk

  2. 选择下面的路径:

    • Windows:C:\Program Files\JetBrains\IntelliJ IDEA 2025.2.5 \jbr
    • macOS:/Applications/IntelliJ IDEA.app/Contents/jbr
    • Linux:你解压的 IDEA 目录下的 jbr
  3. 点确定,会显示类似:

    JetBrains Runtime 21.0.9 
    
  4. 以后所有新项目都会默认出现这个选项了


接下来在 src 目录下,新建一个 Main.java 文件,里面填写下面的代码:

void main() {
   System.out.println("Hello, 白月黑羽!");
}

这个代码中,定义了一个 main 方法(函数),它是程序的入口点。

每个 Java 应用程序都必须有一个 main 方法,JVM 会从这里开始执行代码。

System.out.println("Hello, 白月黑羽!"); 这行代码用于在控制台(命令行窗口)输出文本。


然后,直接点击 标题栏的 运行按钮, 发现可以输出内容为

Hello, 白月黑羽!

注意,上面这种代码的写法,是从 Java 25 开始支持的一种更简洁的写法,叫 紧凑源文件(compact source file)

如果你选择老版本的 JDK,比如 Java 17Java 11,上面的代码会报错。

你必须使用类

删除掉刚才创建的 Hello.java 文件,

然后在 src 目录下,新建一个 Java Class, 名为 Main

会自动产生 Main.java 文件,里面填写下面的代码:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, 白月黑羽!");
    }
}

其中:

注意:Java 代码文件名必须和 Public 的类名完全一致,包括大小写,否则会编译报错。 这里叫 Main.java,类名也必须叫 Main

public static void main(String[] args) 定义了程序的入口方法 main。和前面一样,JVM 会从这里开始执行代码。

关于 类,属性,方法 等概念,我们后面会详细介绍。

这里我们只要知道,Java 程序是由类组成的,程序的执行从 main 方法开始就可以了。

✳️ 命令行运行

如果你不使用IDE(在一个没有IDE的环境中),怎么运行 Java 代码呢?

从 Java 11 开始,这种 Java 文件,可以直接用 java 命令运行它,跳过显式的编译步骤.

打开命令行窗口,进入到 Main.java 所在目录,运行:

java Main.java

也可以在项目根目录运行:

java src/Main.java

这对于写简单的脚本或测试代码非常方便。


如果你使用的是老版本的JDK, 你需要先用 javac 命令编译成字节码文件 .class,然后再用 java 命令运行。

javac Main.java        # 编译,生成 Main.class 文件

java Main              # 运行 Main.class 文件

关于 编译和运行的命令 javacjava ,我们后面会详细介绍。