Java 入门核心知识点精炼:一张表 + 三段代码搞定
Java 入门需要掌握的核心知识点不多,但必须准确。本文用最精炼的方式把关键概念讲清楚,适合快速建立认知框架。 对应命令: 关键细节: 组件一:JVM JVM 是 Java 平台的基础。它的核心价值是屏蔽操作系统差异——同一份字节码在 Windows、Linux、macOS 上的 JVM 中都能运行。 现代 JVM(如 HotSpot)还会在运行时做优化:识别热点代码,通过 JIT 编译器将其编译为本机码,性能接近 C/C++。 组件二:Java API API 是一套庞大的现成类库,按功能分组为包(Package)。涵盖范围: 开发者不需要从零造轮子,大部分常见功能 API 里都有现成实现。 Java 从 Java 10 起每 6 个月发布一个新版本,但只有 LTS 版本适合生产环境: 一段代码验证 JDK 是否安装正确: 编译运行: 如果能正常输出版本信息,说明你的 Java 开发环境已经就绪。 这些特性在入门阶段了解即可,后续深入学习时会逐一掌握。IT探险家 ·Java 官方教程深度解读
一、Java 技术全景速查
维度 要点 本质 编程语言 + 软件平台(语言和运行环境的组合) 编译产物 字节码(Bytecode),存储在 .class 文件中执行方式 JVM 解释执行 + JIT 即时编译(混合型) 跨平台原理 字节码平台无关,各平台的 JVM 负责翻译为本机指令 核心口号 Write Once, Run Anywhere 语言特性 面向对象、强类型、自动内存管理(GC)、多线程内置支持 二、编译运行流程
源文件(.java) → javac编译 → 字节码(.class) → java启动JVM → 执行# 编译
javac HelloWorld.java
# 运行(注意:不带 .class 后缀)
java HelloWorld问题 答案 .class 文件是机器码吗?不是,是 JVM 的指令集(字节码) 字节码能跨平台吗? 能,同一个 .class 可在任何 JVM 上运行JVM 跨平台吗? 不跨,每个 OS 需要对应版本的 JVM Java 11+ 可以直接 java xxx.java 吗?可以,但仅限单文件,底层仍会编译 三、JDK / JRE / JVM 三者关系
┌─────────────────────────────────────────┐
│ JDK (Java Development Kit) │
│ ┌───────────────────────────────────┐ │
│ │ JRE (Java Runtime Environment) │ │
│ │ ┌─────────────────────────────┐ │ │
│ │ │ JVM (Java Virtual Machine) │ │ │
│ │ └─────────────────────────────┘ │ │
│ │ + 核心类库 (rt.jar 等) │ │
│ └───────────────────────────────────┘ │
│ + 开发工具 (javac, jdb, javadoc 等) │
└─────────────────────────────────────────┘组件 包含内容 适用场景 JVM 字节码执行引擎 所有 Java 程序运行的基础 JRE JVM + 核心类库 只运行 Java 程序,不开发 JDK JRE + 编译器等开发工具 开发 Java 程序(开发者必装) 注意:Java 11 起,Oracle 不再单独发布 JRE,JDK 即包含全部内容。
四、Java 平台两大组件
领域 代表性 API 基础数据结构 java.util(List, Map, Set)I/O 操作 java.io, java.nio网络通信 java.net并发编程 java.util.concurrent数据库访问 java.sql(JDBC)五、与其他语言的编译方式对比
特性 C/C++(编译型) Python(解释型) Java(混合型) 编译产物 本机二进制 无(逐行执行) 字节码 .class跨平台 需重新编译 天然跨平台 一次编译到处运行 运行速度 最快 较慢 接近本机(JIT 优化后) 启动速度 快 快 较慢(JVM 启动开销) 六、版本选择指南
LTS 版本线:8 → 11 → 17 → 21 → 25(即将发布)场景 推荐版本 新项目启动 Java 21(当前最新 LTS) 维护老项目 跟随项目原有版本(通常 Java 8 或 11) 个人学习 Java 21 七、验证你的环境
public class EnvCheck {
public static void main(String[] args) {
System.out.println("Java 版本: " + System.getProperty("java.version")); // 输出: Java 版本: (如 21.0.x)
System.out.println("操作系统: " + System.getProperty("os.name")); // 输出: 操作系统: (你的系统名)
System.out.println("系统架构: " + System.getProperty("os.arch")); // 输出: 系统架构: (如 amd64)
System.out.println("JVM 名称: " + System.getProperty("java.vm.name")); // 输出: JVM 名称: (如 OpenJDK 64-Bit Server VM)
}
}javac EnvCheck.java && java EnvCheck八、Java 9+ 实用新特性速览
版本 特性 说明 Java 9 JShell 交互式 REPL,命令行输入 jshell 即可逐行执行 Java 代码Java 11 单文件直接运行 java Hello.java 省去手动 javac 步骤Java 11 HTTP Client 标准库内置 HTTP 客户端,替代 HttpURLConnection Java 17 sealed class 限制类的继承层次 Java 21 虚拟线程 轻量级线程,大幅降低高并发编程复杂度 关注公众号「IT探险家」,回复「Java入门」获取完整可运行代码和速查手册。深度面试解析和源码分析,尽在 知识星球IT探险家·进阶圈。