Java 语言简介
在动手装环境之前,我们先认识一下 Java 到底是什么、为什么值得学、能用它做什么。理解了背景,学习的时候会更有的放矢。
Java 是什么?
Java 是 Sun Microsystems(斯坦福大学网络公司)在 1995 年正式发布的一门面向对象编程语言,由 James Gosling(詹姆斯·高斯林)领衔设计,他也因此被称为"Java 之父"。2010 年 Sun 被 Oracle 收购,Java 也归 Oracle 所有,如今每半年发布一个新版本,LTS(长期支持)版本如 8、11、17、21 是企业主力。
诞生故事:从 Oak 到 Java
Java 的诞生有点"无心插柳"的味道。1990 年代初,Sun 想为家用电器(机顶盒、嵌入式设备)设计一门语言,要求跨平台、小巧。James Gosling 带领小组开发了这门语言,最初取名 Oak(橡树,因为 Gosling 办公室外正好有一棵橡树)。
后来 Oak 商标被注册了,团队重新取名。讨论时大家正在喝印尼爪哇岛(Java)产的咖啡,于是把语言改名 Java——这就是 Java Logo 是一杯热气腾腾的咖啡的来历。原本给家电设计的语言,赶上了 1995 年互联网大爆发,浏览器(NetScape)支持 Java Applet,Java 一夜爆红。
核心口号:Write Once, Run Anywhere
Java 最响亮的口号是"写一次,到处运行"。它的实现靠的是 JVM(Java Virtual Machine,Java 虚拟机):
- 你写的
.java源码先用javac编译成"中间字节码"(.class文件); - 这个字节码不直接跑在 CPU 上,而是由 JVM 解释执行(现代 JVM 还有 JIT 即时编译优化);
- Windows、Linux、macOS 各装一个对应版本的 JVM,就能跑同一份字节码。
这是 Java 当年横扫天下的杀手锏——而 C/C++ 写出的程序只能针对一个平台。如今 .NET、Kotlin 也学了这套思路。
新手必懂:JDK / JRE / JVM 三件套
- JVM(Java Virtual Machine):Java 虚拟机,真正执行字节码的那层。不同系统有不同 JVM。
- JRE(Java Runtime Environment):运行环境,= JVM + 核心类库(rt.jar 等)。只跑程序装它就够。
- JDK(Java Development Kit):开发工具包,= JRE + 开发工具(
javac编译器、javadoc、jdb调试器等)。开发必须装 JDK。
关系是:JDK ⊃ JRE ⊃ JVM。从 Java 11 开始,Oracle 简化了分发,不再单独提供 JRE,直接用 JDK 就行。
第一个 Java 程序
说了这么多,先看一眼代码。Java 的"Hello World"长这样:
// 文件名:HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
// 输出: Hello, World!运行它只需要两步:
# 1. 用 javac 把 .java 编译成字节码 .class
javac HelloWorld.java # 生成 HelloWorld.class
# 2. 用 java 命令运行(注意不要加 .class 后缀)
java HelloWorld
# 输出: Hello, World!看起来比 Python 的 print("Hello") 啰嗦不少。但注意几件事:文件名必须和 public class 名一致(否则编译报错);public static void main(String[] args) 是程序入口的固定签名,先照抄;System.out.println 等价于 Python 的 print()。这种"啰嗦"换来的是强类型检查、严格的代码组织——这是 Java 适合大型项目的根本原因。
Java 的核心特点
- 面向对象:所有代码都写在类里,支持封装、继承、多态三大特性。
- 强类型:每个变量必须先声明类型,编译期就能查出大量 bug。
- 跨平台:靠 JVM 实现"一次编写,到处运行"。
- 自动垃圾回收(GC):不用像 C/C++ 那样手动
free()内存,JVM 自动回收。 - 多线程原生支持:
Thread、synchronized、java.util.concurrent让并发编程成为一等公民。 - 生态极其成熟:Maven/Gradle 依赖管理、Spring 系列框架、JUnit 测试,企业工具链完善。
- 安全性高:没有指针、数组越界检查、字节码校验,适合网络环境。
Java 都用在哪?典型应用场景
Java 是"企业级之王"。下面这些场景几乎被 Java 垄断:
- 大型企业后台:银行、电商、保险、政务系统,绝大多数跑在 Spring Boot / Spring Cloud 上。
- Android App:Android 早期 App 几乎全是 Java(后来 Kotlin 加入并被官方推荐,但 JVM 系一脉相承)。
- 大数据:Hadoop、Spark、Kafka、Flink、Elasticsearch 都是 JVM 系,Scala/Kotlin/Java 三兄弟一起干活。
- 金融交易系统:高频交易、券商后台、支付宝/微信支付核心,Java 凭借稳定和工具链占绝对优势。
- 开源中间件:Elasticsearch、Jenkins、HBase、Tomcat、Netty 全是 Java 写的。
Java vs 其他语言
- vs Python:Java 强类型、编译快、性能高、并发顺手;Python 写脚本、做数据科学更轻便。两者互补。
- vs Go:Java 生态成熟、企业库多、OOP 完善;Go 部署简单、并发更轻、启动快,适合云原生微服务。
- vs C++:Java 有 GC、跨平台、安全;C++ 性能极致、可控性强,适合游戏引擎、嵌入式。
- vs Kotlin:Kotlin 跑在 JVM 上,和 Java 100% 互操作,语法更现代(空安全、data class),Android 现已官方推荐 Kotlin。
- vs C#:C# 是微软版"Java",.NET 上跑,Windows 生态强;Java 跨平台更彻底。
该不该学 Java?
如果你的方向是后端开发、企业级应用、Android、大数据,Java 几乎是必修课。它的就业市场巨大、岗位稳定、薪资天花板高,虽然有"啰嗦"的吐槽,但30 年不衰本身就说明了一切。学完本系列,你将能独立用 Java 写一个完整的命令行程序,看懂 Spring Boot 项目,为深入数据库、Web 后端打下坚实基础。
← 返回 Java 教程目录
下一篇 Java 环境安装 →