Skip to content
第 1 / 250 章后端⏱ 12 分钟阅读

第 1 章:为什么学 Java?

学习目标

  • 理解 Java 的定位和适用场景
  • 了解 Java 生态的全景图
  • 明确自己学习 Java 的目标和路径

一、Java 在编程语言中的位置

当我们打开 TIOBE 编程语言排行榜,Java 长期稳居前 3 名。但流行 ≠ 适合,你需要先理解 Java 的本质,才能判断它是不是你需要的。

Java 是混合型语言的代表

  • 编译期.java 源码被 javac 编译成 .class 字节码(Bytecode)
  • 运行期:JVM(Java 虚拟机)加载字节码,解释 + JIT 编译执行

这带来一个核心特性:一次编译,到处运行(Write Once, Run Anywhere)。

二、Java 的核心优势

2.1 跨平台:JVM 是 Java 的"翻译官"

同一份 .class 文件,在 Windows、Linux、macOS 上都能运行——只要装了对应的 JVM。

为什么 Java 能做到?

其他语言(如 C++)编译后的产物是机器码(不同 CPU 架构不同),而 Java 编译后是字节码(一种中间语言),由各平台的 JVM 负责翻译成机器码。

代价:JVM 这个中间层会带来一定的性能开销(启动慢、内存占用大)。但 JIT(Just-In-Time)编译器优化后,热代码性能可以接近原生 C++。

2.2 生态成熟:90% 的企业级场景有现成方案

场景Java 生态成熟度
Web 后端SpringBoot / Spring Cloud⭐⭐⭐⭐⭐
大数据Hadoop / Spark / Flink⭐⭐⭐⭐⭐
分布式Dubbo / Spring Cloud Alibaba⭐⭐⭐⭐⭐
消息队列Kafka / RocketMQ / RabbitMQ⭐⭐⭐⭐⭐
搜索引擎Elasticsearch⭐⭐⭐⭐⭐
Android(历史)Android SDK⭐⭐⭐⭐⭐
微服务Spring Cloud / Service Mesh⭐⭐⭐⭐⭐

这套生态是 Java 25 年积累的结果,新语言短期内难以撼动

2.3 就业市场:稳定的岗位需求

从招聘网站看,Java 后端岗位常年占据 IT 招聘 30%+ 的份额。原因:

  • 传统企业数字化转型(银行、政府、医疗)首选 Java 栈
  • 互联网大厂核心系统(电商、社交、支付)大量使用 Java
  • Android 应用(虽然 Kotlin 后来居上)底层仍是 JVM

2.4 工程化能力强:规范、可维护、可协作

Java 是强类型静态语言,编译器能在写代码时就发现大量错误。这对大型团队的协作至关重要:

  • IDE 智能提示、重构支持最完善
  • 阿里、Google 等大厂都有 Java 编码规约
  • Spring 生态提供了完整的"约定优于配置"实践

三、Java 的劣势(客观看待)

没有完美的语言

学习 Java 前要清楚它的缺点,避免盲目选择。

3.1 语法相对啰嗦

java
// Java:一个简单的数据类需要 30+ 行
public class User {
    private Long id;
    private String username;
    private String email;
    // 50 行 getter/setter/equals/hashCode/toString...
}

对比 Python:

python
class User:
    pass  # 30 秒搞定

3.2 启动慢、内存占用大

  • SpringBoot 应用启动通常 5-15 秒
  • 空进程占用 100-300MB 内存

这在云原生时代是个问题(K8s 频繁扩缩容)。但 GraalVM + Spring Native 已经部分解决。

3.3 学习曲线陡峭

Hello World 到能写企业级项目,需要掌握:

  • Java 基础(40 章)
  • 数据库(SQL + 设计)
  • Spring 全家桶(IoC / AOP / MVC / Security)
  • 中间件(Redis / MQ / 搜索引擎)
  • 部署(Docker / K8s / Linux)

全套学完至少需要 3-6 个月

四、Java 在企业中的典型应用场景

经典案例

公司核心系统Java 的角色
阿里淘宝、天猫、支付宝99% Java 栈(自研 Dubbo / RocketMQ)
美团外卖、到店Java + Spring Cloud
京东商城、物流Java + 自研 JSF
Netflix流媒体Java + Spring Boot(每天处理 2 万亿次 API 调用)
Twitter早期后端Java + Scala(后迁移到 Scala)

五、Java 生态全景图

学习优先级建议

  1. Java SE(基础语法)— 本教程第 1-40 章
  2. Maven(构建工具)— 第 45 章
  3. Spring Boot(核心框架)— 第 41-77 章
  4. MyBatisPlus(ORM)— 第 53-56 章
  5. 中间件(Redis/MQ/ES)— 第 60-65 章
  6. 部署(Docker/K8s)— 第 78-90 章

六、给不同读者的建议

🎓 完全新手(从 Hello World 开始)

好消息:Java 是最适合入门的强类型语言之一,IDE 帮你检查所有错误。

坏消息:从学到能写项目,需要 3-6 个月坚持。

建议路径

  1. 本教程第 1-40 章(Java 基础)— 10 周
  2. 本教程第 41-77 章(SpringBoot)— 8 周
  3. 本教程第 78-90 章(综合实战)— 4 周

💼 有其他语言经验(如 Python/JS)

Java 对你来说最陌生的可能是类型系统构建工具链

重点关注

  • 类型系统:泛型、装箱拆箱、类型擦除
  • 构建工具:Maven/Gradle(对比 npm/pip)
  • 框架约定:Spring 的"约定优于配置"

🏗️ 想深入架构设计的工程师

Java 是研究架构的最佳语言——生态最丰富、最成熟。

重点关注

  • Spring 源码(IoC / AOP)
  • 中间件原理(Netty / Kafka / HBase)
  • JVM 调优(GC / 内存模型)
  • 分布式(一致性 / 事务 / 锁)

七、本教程能给你什么?

学完后你能

  • ✅ 独立搭建 SpringBoot + MyBatisPlus 企业项目
  • ✅ 实现 JWT 登录、RBAC 权限、缓存、限流等常见功能
  • ✅ 看懂阿里 / 美团等大厂开源项目的代码
  • ✅ 通过 Java 后端开发岗位的面试
  • ✅ 进一步深入学习 Spring 源码、JVM 调优、分布式架构

八、本章小结

要点关键
Java 是什么混合型语言,编译为字节码,由 JVM 执行
核心优势跨平台、生态成熟、就业市场大、工程化强
主要劣势语法啰嗦、启动慢、学习曲线陡
适用场景企业级后端、大数据、Android
学习路径Java 基础 → SpringBoot → 实战 → 进阶

动手练习

  1. 调研题:搜索 "TIOBE 编程语言排行榜",对比 Java、Python、JavaScript、Go、C++ 过去 5 年的趋势
  2. 思考题:如果让你设计一个电商平台(用户、商品、订单、支付、库存),你会用 Java 还是其他语言?为什么?
  3. 环境题:访问 OpenJDK 官网,了解一下 Java 17 和 Java 21 各自的新特性

推荐阅读


下一章第 2 章:JDK 安装与环境变量

本站基于 VitePress 构建 · 由 Codebook 团队维护