目录
- [🟢 01 Java是什么?为什么学Java](#🟢 01 Java是什么?为什么学Java)
-
- 一、Java简介
-
- [1.1 Java是什么?](#1.1 Java是什么?)
- [1.2 Java的语言版本](#1.2 Java的语言版本)
- 二、Java的发展历史
-
- [2.1 起源故事](#2.1 起源故事)
- [2.2 发展里程碑](#2.2 发展里程碑)
- [2.3 Java的三大阶段](#2.3 Java的三大阶段)
- 三、Java的核心特性
-
- [3.1 面向对象(OOP)](#3.1 面向对象(OOP))
- [3.2 跨平台性](#3.2 跨平台性)
- [3.3 自动垃圾回收(GC)](#3.3 自动垃圾回收(GC))
- [3.4 核心特性总结](#3.4 核心特性总结)
- 四、Java的应用场景
-
- [4.1 企业级应用开发](#4.1 企业级应用开发)
- [4.2 各应用领域一览](#4.2 各应用领域一览)
- [4.3 知名Java应用](#4.3 知名Java应用)
- 五、Java的就业前景与薪资
-
- [5.1 市场需求](#5.1 市场需求)
- [5.2 职业发展路径](#5.2 职业发展路径)
- [5.3 学习Java的五大理由](#5.3 学习Java的五大理由)
- 六、Java与其他编程语言对比
-
- [6.1 综合对比表](#6.1 综合对比表)
- [6.2 Java vs Python](#6.2 Java vs Python)
- [6.3 Java vs Go](#6.3 Java vs Go)
- [6.4 选择建议](#6.4 选择建议)
- 七、Java技术体系
-
- [7.1 三大平台](#7.1 三大平台)
- [7.2 Java SE核心技术](#7.2 Java SE核心技术)
- [7.3 Java EE/Jakarta EE 核心技术](#7.3 Java EE/Jakarta EE 核心技术)
- [7.4 主流框架生态](#7.4 主流框架生态)
- 八、学习路线建议
-
- [8.1 本系列学习路线](#8.1 本系列学习路线)
- [8.2 学习建议](#8.2 学习建议)
- 九、总结
- 十、互动与预告
-
- [💬 互动问题](#💬 互动问题)
- [📖 下篇预告](#📖 下篇预告)
- [📚 参考资料](#📚 参考资料)
🟢 01 Java是什么?为什么学Java
更新日期 :2026年5月
版权声明:本文为原创文章,转载请注明出处。© 2026 Java入门到精通系列
一、Java简介
Java 是由 Sun Microsystems (后被 Oracle 收购)于1995年推出的面向对象编程语言。它的设计理念是 "Write Once, Run Anywhere"(一次编写,到处运行),通过 JVM(Java虚拟机)实现了跨平台的特性。
java
// 你的第一个Java概念
public class WhatIsJava {
public static void main(String[] args) {
System.out.println("Hello, Java World!");
System.out.println("一次编写,到处运行!");
}
}
1.1 Java是什么?
简单来说,Java 既是一门 编程语言 ,也是一个 开发平台:
| 维度 | 说明 |
|---|---|
| 编程语言 | 面向对象、强类型、静态编译语言 |
| 运行平台 | 基于 JVM(Java虚拟机)实现跨平台 |
| 技术生态 | 拥有庞大的开源框架和工具库 |
| 社区支持 | 全球数百万开发者,活跃的开源社区 |
1.2 Java的语言版本
Java 的版本命名经历了多次变化:
| 版本 | 名称 | 代号 | 发布年份 |
|---|---|---|---|
| JDK 1.0 | Oak | - | 1996 |
| JDK 1.2 | Java 2 | - | 1998 |
| JDK 5 | Java 5 | Tiger | 2004 |
| JDK 8 | Java 8 | Spider | 2014 |
| JDK 11 | Java 11 | - | 2018 |
| JDK 17 | Java 17 | - | 2021 |
| JDK 21 | Java 21 | - | 2023 |
| JDK 25 | Java 25 | - | 2025(LTS) |
💡 LTS(Long-Term Support) 长期支持版本是企业开发的首选,当前推荐使用 JDK 21。
二、Java的发展历史
2.1 起源故事
1991年,Sun Microsystems 的工程师 James Gosling (詹姆斯·高斯林)带领团队开发了一门面向家用电器的编程语言,最初命名为 Oak(橡树) ,后来因商标冲突更名为 Java(爪哇咖啡)。
2.2 发展里程碑
1991年 → James Gosling开始开发Oak语言
1995年 → 正式更名为Java,发布JDK 1.0
1998年 → Java 2发布,分为J2SE/J2EE/J2ME
2004年 → Java 5发布,引入泛型、注解等重大特性
2006年 → Sun公司开源Java(OpenJDK)
2009年 → Oracle收购Sun Microsystems
2014年 → Java 8发布,引入Lambda表达式(划时代版本)
2017年 → Java 9开始,每6个月发布一个新版本
2018年 → Java 11(LTS),Oracle JDK开始收费
2021年 → Java 17(LTS),引入密封类、模式匹配等
2023年 → Java 21(LTS),虚拟线程、记录模式等
2025年 → Java 25(LTS),持续进化中
2.3 Java的三大阶段
| 阶段 | 时间 | 特点 |
|---|---|---|
| J2SE时代 | 1995-2005 | 桌面应用、Applet、跨平台概念 |
| Java EE时代 | 2005-2017 | 企业级开发、Spring生态崛起 |
| 云原生时代 | 2017-至今 | 微服务、容器化、Serverless |
三、Java的核心特性
Java之所以能流行30年,离不开其核心特性:
3.1 面向对象(OOP)
java
// 面向对象的三大特性示例
// 1. 封装
public class Student {
private String name; // 私有属性
private int age;
// 公开的getter/setter方法
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) {
if (age > 0 && age < 150) {
this.age = age;
}
}
}
// 2. 继承
public class CollegeStudent extends Student {
private String major; // 专业
public void study() {
System.out.println(getName() + "正在学习" + major);
}
}
// 3. 多态
public class Animal {
public void speak() {
System.out.println("动物发出声音");
}
}
public class Dog extends Animal {
@Override
public void speak() {
System.out.println("汪汪汪!");
}
}
public class Cat extends Animal {
@Override
public void speak() {
System.out.println("喵喵喵!");
}
}
3.2 跨平台性
┌──────────────┐
│ Java源码 │ (.java文件)
└──────┬───────┘
│ 编译
▼
┌──────────────┐
│ 字节码文件 │ (.class文件)
└──────┬───────┘
│
┌────┼────┬────────┐
▼ ▼ ▼ ▼
┌────┐┌────┐┌──────┐┌──────┐
│Win ││Mac ││Linux ││安卓 │
│JVM ││JVM ││ JVM ││ JVM │
└────┘└────┘└──────┘└──────┘
3.3 自动垃圾回收(GC)
java
public class GarbageCollectionDemo {
public static void main(String[] args) {
// Java自动管理内存,不需要手动释放
for (int i = 0; i < 1000000; i++) {
String str = new String("对象 " + i);
// 当str不再被引用时,GC会自动回收其内存
}
System.out.println("GC会在后台自动回收不再使用的对象");
// C/C++需要手动malloc/free,Java不需要
}
}
3.4 核心特性总结
| 特性 | 说明 | 优势 |
|---|---|---|
| 面向对象 | 封装、继承、多态 | 代码复用、易维护 |
| 跨平台 | JVM实现"一次编写,到处运行" | 降低部署成本 |
| 自动内存管理 | 垃圾回收机制(GC) | 避免内存泄漏 |
| 强类型 | 编译时类型检查 | 减少运行时错误 |
| 多线程 | 内置多线程支持 | 高并发处理 |
| 安全性 | 沙箱机制、字节码验证 | 企业级安全 |
| 丰富的API | 标准库涵盖面广 | 开发效率高 |
四、Java的应用场景
Java的应用场景极其广泛,几乎覆盖了软件开发的各个领域:
4.1 企业级应用开发
这是Java最核心的战场。全球超过 90% 的财富500强公司使用Java开发后端系统。
java
// Spring Boot 企业级应用示例
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userService.findById(id);
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.save(user);
}
}
4.2 各应用领域一览
| 应用领域 | 典型案例 | 技术栈 |
|---|---|---|
| 企业后端 | 银行系统、ERP、CRM | Spring Boot, MyBatis |
| 大数据处理 | Hadoop、Spark、Flink | Hadoop生态 |
| Android开发 | 手机App | Android SDK(Kotlin崛起) |
| 微服务架构 | 电商、社交平台 | Spring Cloud, Dubbo |
| 中间件 | 消息队列、搜索引擎 | Kafka, Elasticsearch |
| 云计算 | 云服务、Serverless | Quarkus, Micronaut |
| 物联网(IoT) | 智能设备、传感器 | Java ME, Raspberry Pi |
| 游戏服务端 | 网游后台 | Netty, Vert.x |
4.3 知名Java应用
🏢 企业应用:阿里巴巴、京东、美团、字节跳动后端
🔍 搜索引擎:Elasticsearch(基于Java)
📨 消息中间件:Apache Kafka、RocketMQ
🌐 Web服务器:Tomcat、Jetty、Undertow
📦 容器编排:Jenkins(CI/CD工具)
🧠 大数据:Hadoop MapReduce、Apache Spark
五、Java的就业前景与薪资
5.1 市场需求
根据2026年最新数据:
| 指标 | 数据 |
|---|---|
| 全球开发者数量 | Java开发者超过 1200万 |
| TIOBE排名 | 长期保持 前3名 |
| 国内岗位需求 | 后端开发岗位中占比 约40% |
| 平均薪资(国内) | 初级 12-20K,中级 20-35K,高级 35-60K+ |
| 平均薪资(美国) | 90,000 - 160,000/年 |
5.2 职业发展路径
初级Java开发 (0-2年)
│
├── 中级Java开发 (2-5年)
│ │
│ ├── 高级Java开发 (5-8年)
│ │ │
│ │ ├── 技术专家/架构师
│ │ └── 技术经理/CTO
│ │
│ └── 全栈开发
│
└── 转型方向
├── 大数据工程师
├── 云原生工程师
└── AI/ML工程化
5.3 学习Java的五大理由
- 市场需求大 --- 企业级开发首选语言
- 薪资待遇好 --- 平均薪资在编程语言中名列前茅
- 生态成熟 --- 丰富的框架、工具和社区资源
- 职业稳定 --- 30年历史,不会轻易被淘汰
- 转型容易 --- 可轻松转向大数据、云原生等方向
六、Java与其他编程语言对比
6.1 综合对比表
| 对比维度 | Java | Python | C++ | Go | JavaScript |
|---|---|---|---|---|---|
| 类型系统 | 静态强类型 | 动态弱类型 | 静态强类型 | 静态强类型 | 动态弱类型 |
| 运行方式 | 编译+解释 | 解释执行 | 编译执行 | 编译执行 | 解释执行 |
| 跨平台 | ✅ JVM | ✅ 解释器 | ❌ 需重编译 | ✅ 交叉编译 | ✅ 浏览器/Node |
| 执行速度 | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 学习难度 | ⭐⭐⭐ | ⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐ |
| 并发能力 | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 主要领域 | 企业后端 | AI/数据 | 系统/游戏 | 云原生/微服务 | 前端/全栈 |
| 就业需求 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
6.2 Java vs Python
java
// Java: 强类型,编译时检查
public int add(int a, int b) {
return a + b;
}
python
# Python: 动态类型,灵活但可能出运行时错误
def add(a, b):
return a + b
| 维度 | Java | Python |
|---|---|---|
| 优势 | 性能好、企业级生态、类型安全 | 简洁易学、AI/ML首选、开发快 |
| 劣势 | 代码冗长、启动慢 | 性能差、GIL限制并发 |
| 适合 | 大型后端系统、高并发 | 脚本、数据分析、机器学习 |
6.3 Java vs Go
| 维度 | Java | Go |
|---|---|---|
| 优势 | 生态成熟、框架丰富、人才多 | 编译快、部署简单、并发强 |
| 劣势 | JVM内存占用大、启动慢 | 生态不如Java、泛型支持较晚 |
| 适合 | 复杂企业应用 | 微服务、云原生基础设施 |
6.4 选择建议
想做AI/机器学习 → 学Python
想做前端/全栈 → 学JavaScript/TypeScript
想做系统/游戏 → 学C/C++
想做云原生 → 学Go
想做企业后端 → 学Java ✅(你正在做的!)
七、Java技术体系
7.1 三大平台
| 平台 | 全称 | 用途 | 现状 |
|---|---|---|---|
| Java SE | Standard Edition | 桌面应用、基础API | 基础必学 |
| Java EE / Jakarta EE | Enterprise Edition | 企业级Web应用 | 主流后端 |
| Java ME | Micro Edition | 嵌入式/移动设备 | 已边缘化 |
7.2 Java SE核心技术
Java SE 基础
├── 语法基础:变量、数据类型、运算符、流程控制
├── 面向对象:类、对象、继承、多态、接口、抽象类
├── 核心API:String、集合框架、IO、异常处理
├── 高级特性:泛型、注解、反射、Lambda、Stream
└── 并发编程:线程、线程池、并发工具类
7.3 Java EE/Jakarta EE 核心技术
Java EE 企业级
├── Web基础:Servlet、JSP、Filter、Listener
├── Spring生态:Spring Framework → Spring Boot → Spring Cloud
├── 持久层:JDBC → MyBatis → JPA/Hibernate
├── 微服务:Spring Cloud、Dubbo、gRPC
├── 消息中间件:Kafka、RocketMQ、RabbitMQ
└── 容器化:Docker、Kubernetes
7.4 主流框架生态
| 框架 | 用途 | 特点 |
|---|---|---|
| Spring Boot | 快速构建应用 | 约定优于配置 |
| Spring Cloud | 微服务治理 | 服务注册、配置中心、网关 |
| MyBatis | 数据库访问 | 灵活的SQL映射 |
| Hibernate | ORM框架 | 对象关系映射 |
| Netty | 网络编程 | 高性能NIO框架 |
| Quarkus | 云原生Java | 启动快、内存小 |
八、学习路线建议
8.1 本系列学习路线
第一阶段:基础入门(第01-10篇)← 你在这里
├── Java基础语法
├── 面向对象编程
└── 基础实战练习
第二阶段:核心进阶(第11-20篇)
├── 面向对象深入
├── 异常处理
├── 常用API
└── 集合框架
第三阶段:高级特性(第21-30篇)
├── IO流与文件操作
├── 多线程与并发
├── 网络编程
└── 反射与注解
第四阶段:数据库与Web(第31-40篇)
├── MySQL数据库
├── JDBC编程
├── Maven/Gradle
└── Spring Boot入门
第五阶段:项目实战(第41-50篇)
├── Spring Boot + MyBatis
├── RESTful API设计
├── 项目部署
└── 面试准备
8.2 学习建议
| 建议 | 说明 |
|---|---|
| ✅ 多写代码 | 每个知识点都要亲手敲一遍 |
| ✅ 做笔记 | 记录重点和自己的理解 |
| ✅ 做项目 | 理论结合实践,做小项目练手 |
| ✅ 看源码 | 读优秀开源项目的代码 |
| ❌ 不要死记硬背 | 理解原理比记住语法更重要 |
| ❌ 不要急于求成 | 基础打牢才能走更远 |
九、总结
本文我们了解了:
- ✅ Java是什么:面向对象的跨平台编程语言
- ✅ Java的历史:30年发展历程,持续进化
- ✅ Java的特性:面向对象、跨平台、自动GC
- ✅ 应用场景:企业后端、大数据、云计算等
- ✅ 就业前景:需求大、薪资高、职业稳定
- ✅ 语言对比:各有优劣,Java在企业后端有绝对优势
- ✅ 学习路线:从基础到高级,循序渐进
🎯 下一步:准备好你的电脑,我们将在下一篇搭建Java开发环境!
十、互动与预告
💬 互动问题
- 你为什么选择学习Java?你的目标是什么?
- 你觉得Java最大的优势是什么?
- 你之前有其他编程语言的经验吗?
📖 下篇预告
第02篇:环境搭建------JDK安装与配置,我们将手把手教你:
- 下载并安装JDK 21
- 配置环境变量(Windows/Mac/Linux)
- 安装并配置IntelliJ IDEA
- 运行你的第一个Java程序!
📚 参考资料
📝 系列目录 :Java入门到精通系列 | 下一篇 :02-环境搭建JDK安装与配置