01 它是干嘛的
Java 是一门运行在虚拟机上的编程语言。它的核心承诺是「一次编译,到处运行」:编译后的字节码由 JVM 在不同操作系统上解释执行,让企业不必为每个平台重写一遍程序。今天它仍是银行、电商后台与大数据生态的主力语言。
02 为什么会有它
以前:换一个操作系统就要重写一遍程序
1990 年代的程序通常直接编译成某一种 CPU 与操作系统的机器码。Windows 上写的程序拿到 Unix 上跑不起来,企业机房里多套系统并存时,同一个软件要维护好几份代码。
Java 的解法是在程序和硬件之间加一层虚拟机:程序编译成中间字节码,由各平台上的虚拟机负责翻译成当地能执行的指令。于是开发者只交付一份字节码,运行环境自己适配。
这个设计牺牲了一点性能,换来了巨大的工程收益:部署变简单、人才可流动、库可复用。随后的几十年里,JVM 上的即时编译与垃圾回收持续优化,性能差距被大幅追平。
03 它怎么工作
源码先编译成字节码,由虚拟机加载、校验、解释执行,热点代码再被即时编译成本地机器码加速。
一段 Java 代码是怎么跑起来的
- 1① 编译成字节码
源码被编译成与平台无关的中间指令,而不是某个 CPU 的机器码。
- 2② 类加载
虚拟机按需加载类,校验字节码安全性,防止越权访问内存。
- 3③ 解释执行
最初逐条解释执行,启动快但单次执行慢。
- 4④ 即时编译
被反复执行的热点代码编译成本地机器码,性能接近原生程序。
- 5⑤ 垃圾回收
不再使用的对象由虚拟机自动回收,开发者不必手工释放内存。
04 谁在用它
银行与金融后台
稳定性要求高、生命周期长,Java 的向后兼容是巨大优势。
大型电商与交易系统
生态成熟,中间件与监控方案齐全。
大数据处理
Hadoop、Spark、Flink 等主力框架都跑在 JVM 上。
安卓应用开发
安卓官方长期以 Java 与 Kotlin 为主要语言。
05 怎么用
装好 JDK 与一个 IDE,从一个能跑起来的命令行程序开始。
- 01安装 JDK,用命令行编译并运行一个 Hello World。
- 02安装 IDE,学会用它调试而不是靠打印日志。
- 03写一个有增删改查的小项目,理解分层与依赖管理。
- 04再接触 Spring 这类框架,理解它替你做了什么。
避坑提示
- !先理解 JVM 内存模型与垃圾回收,很多线上问题根源在这里。
- !不要一开始就上框架,先把语言本身写熟。
06 关键概念
- JVM
- Java 虚拟机,负责执行字节码、管理内存,屏蔽底层平台差异。
- 字节码
- 编译后的中间指令,与具体硬件无关,是跨平台的基础。
- 即时编译(JIT)
- 把频繁执行的代码在运行中编译成机器码,兼顾启动速度与峰值性能。
- 垃圾回收
- 自动回收不再使用的内存,减少内存泄漏与悬空指针问题。
07 容易混淆的对比
Go启动快、部署简单、并发模型轻量,适合云原生服务;生态不及 Java 庞大。
Python开发效率高、AI 生态强,但在大型长期维护的后端上工程约束较弱。