核心结论,Java 是一门跨平台、面向对象的高级编程语言,由 Sun 公司推出,现在归属 Oracle 维护,核心特点是一次编写多处运行,依靠 JVM 虚拟机实现跨平台,生态成熟稳定,广泛应用在企业级后端开发、大数据、分布式系统等领域,是目前国内后端开发主流语言,学习 Java 一般从 JavaSE 基础语法入门,之后衔接 JavaWeb、SSM、SpringBoot、微服务等后端技术体系,很多初学者容易混淆 JDK JRE JVM 三者概念,这也是 Java 入门最先需要掌握的基础知识点。
Java 核心特性
跨平台,也就是 Write Once Run Anywhere,源码编译成字节码 class 文件,不同操作系统安装对应 JVM,就可以运行同一份字节码
面向对象,支持封装继承多态,是 Java 编程核心思想
自动垃圾回收,GC 自动回收不再使用的对象内存,不需要程序员手动释放内存
强类型语言,变量必须提前声明类型,编译阶段做类型检查
健壮安全,异常机制完善,数组越界空指针等问题在运行时检测
多线程原生支持,内置线程相关 API,适合高并发业务开发
开源生态丰富,大量框架中间件工具组件,社区资料完善
JDK JRE JVM 三者区分
| 名称 | 全称 | 作用 |
|---|---|---|
| JDK | Java Development Kit | 开发工具包,包含 JRE + 编译器 javac + 调试工具,开发必须安装 |
| JRE | Java Runtime Environment | 运行环境,包含 JVM + 核心类库,只可以运行 class 文件,不能编译代码 |
| JVM | Java Virtual Machine | Java 虚拟机,执行字节码,实现跨平台核心组件 |
Java 技术体系划分
JavaSE,标准版,基础核心,语法、面向对象、集合、IO、多线程、异常,是所有 Java 学习的根基
JavaEE,企业版,也就是常说 JavaWeb 相关,Servlet、JSP、框架,企业后端业务系统开发
JavaME,微型版,早期嵌入式移动设备开发,现在使用已经很少
Java 主要应用领域
企业级后端开发,电商、金融、政务、OA 系统,SpringBoot SpringCloud 微服务是主流技术栈
大数据领域,Hadoop、Spark、Flink 底层大量使用 Java
中间件开发,各类服务端中间件研发
安卓原生开发,早期安卓官方开发语言就是 Java,现在逐步转向 Kotlin
云计算、分布式平台、支付系统等高稳定要求业务
Java 执行原理
第一步 编写 java 源码,后缀名.java
第二步 使用 javac 编译器,把源码编译成字节码文件.class
第三步 class 字节码交给 JVM 加载执行
第四步 JVM 内部完成类加载、解释执行、即时编译 JIT、垃圾回收整套流程
入门学习路线
第一步 安装 JDK,配置 JAVA_HOME 和 Path 环境变量
第二步 学习 JavaSE 基础,语法、面向对象、集合、IO、多线程
第三步 学习 MySQL 数据库
第四步 学习 HTTP 协议、JavaWeb 原生 Servlet
第五步 学习 SSM 三大框架,再学习 SpringBoot
第六步 进阶 Redis、MQ、SpringCloud 微服务、JVM 调优等中高级内容
补充拓展
Java 长期支持版本主要有 JDK8 JDK11 JDK17,企业项目大量保留 JDK8,新项目逐步升级到 JDK17,Java 语法持续迭代,新增 Lambda、Stream、模块化等新特性,但是核心面向对象编程思想保持不变。
【常见问题】
问题 1 Java 为什么可以跨平台
回答 1 Java 跨平台核心依靠 JVM,Java 源码编译成统一字节码 class 文件,不同操作系统安装对应版本 JVM,就可以运行同一份程序,这是 Java 最核心特点
问题 2 学习 Java 为什么优先学 JavaSE
回答 1 JavaSE 是 Java 基础核心,JavaSE 里面的语法面向对象集合多线程是后续 JavaWeb 和框架的基础,没有 JavaSE 基础很难学习 Java 后端开发
问题 3 JDK 和 JRE 有什么区别
回答 1 JDK 是开发工具包,自带 javac 编译器,可以编译 Java 源码,JRE 只提供运行环境,只能运行已经编译好的 class 文件,做 Java 开发必须安装 JDK
问题 4 Java 主要是用来做前端还是后端
回答 1 Java 主流应用是企业后端开发,并不是前端语言,依靠 SpringBoot SpringCloud 生态开发高稳定业务后端服务
【免责申明】
本文内容为 Java 编程语言科普介绍,技术版本持续更新,不同教材表述会存在细微差异,本文不构成课程大纲唯一标准答案。


