Java 程序按照运行形态和应用领域,可以分成 Java SE 桌面标准程序 Java EE 企业 Web 程序 Java ME 嵌入式程序三大传统大类,现在 Oracle 官方已经调整命名体系,Java EE 改名为 Jakarta EE,Java ME 也逐步轻量化,企业开发最主流是 Java SE 作为基础,然后延伸做 Java Web 后端服务,除此之外还可以按照打包运行方式,分成控制台程序 图形界面 GUI 程序 Web 服务端程序 后台微服务程序,Java 所有程序都依赖 JVM 虚拟机运行,跨平台特性就是依靠 JVM 实现,不同分类的核心区别是运行环境不一样,调用的 API 包不一样,业务场景不一样,很多初学者只知道 JavaWeb,不清楚 Java 本身还有桌面程序和嵌入式程序,Java SE 是所有分类的基础,不管是 Web 后端还是微服务,底层语法都是 Java SE,学习的时候一般先学 Java SE,再根据方向选择后续分支,本教程按照传统三大版本分类,同时补充现代企业常见衍生程序分类,方便理解 Java 程序完整体系。
传统三大版本分类对照表
| 分类 | 全称 | 定位 | 典型用途 |
|---|---|---|---|
| Java SE | Standard Edition 标准版 | 基础核心版本 | 控制台程序 GUI 桌面程序 所有 Java 基础开发 |
| Java EE | Enterprise Edition 企业版 | 企业级扩展规范 | Web 服务 分布式 事务 权限 消息服务 |
| Java ME | Micro Edition 微型版 | 精简版 | 嵌入式设备 老旧手机 智能终端 |
各分类详细说明
Java SE 标准版程序
Java SE 是最基础核心,提供完整基础 API,包含集合 IO 多线程 网络编程,基于 Java SE 开发的程序又可以细分两种
1 控制台程序,在 cmd 或者终端窗口运行,没有图形窗口,依靠命令输入输出,入门教学练习题大多属于这类
2 GUI 图形界面程序,使用 Swing AWT JavaFX,制作带窗口按钮输入框的桌面软件,比如本地计算器 小型管理软件
Java EE 企业版程序
Java EE 不是独立 JDK,它是一套企业开发规范,基于 Java SE 扩展,核心就是 JavaWeb 以及企业服务相关能力,现在更名 Jakarta EE,企业项目里面常见形态
1 传统 JavaWeb 项目,Servlet JSP Tomcat 部署的网页后台
2 微服务程序,SpringCloud 体系,独立运行的服务单元
3 企业分布式应用,包含事务消息队列持久化 安全认证等企业级组件
Java ME 微型版程序
Java ME 是精简 JVM,裁剪了大量 Java SE API,内存占用小,适合硬件资源有限设备,早年功能机大量使用,现在主流智能设备已经很少使用 Java ME,更多是老旧工业嵌入式场景还能见到相关项目。
现代企业衍生分类补充
除了传统三大版本,现在行业还经常按业务形态划分 Java 程序
1 单体应用,所有业务模块打包成一个项目,部署在 Tomcat 或者独立 jar 启动
2 微服务应用,拆分成多个独立 Java 服务,服务之间远程调用
3 批处理程序,定时跑数据处理任务,比如报表统计 数据同步
4 中间件类 Java 程序,比如消息服务 缓存服务相关 Java 组件
分类之间的关联关系
Java SE 是根基,Java EE 程序底层语法仍然是 Java SE,开发 Java EE 项目依旧需要安装 JDK 也就是 Java SE 开发包,不是单独安装一套全新 Java,Java ME 是单独精简运行环境,和 SE API 不完全兼容,不能直接把 SE 程序放到 ME 环境运行。
学习选择建议清单
1 零基础入门,优先学习 Java SE,编写控制台和基础 GUI 程序
2 想做后端开发,在 Java SE 基础上学习 JavaWeb,也就是 Java EE 体系
3 嵌入式老旧设备项目,才需要了解 Java ME
4 企业新项目一般不会单独使用原生 Java EE,更多是 SpringBoot 微服务,但是底层仍然属于 Java 企业开发体系
【常见问题】
问题 1 Java SE Java EE Java ME 是不是三个独立 JDK
回答 1 Java SE Java EE Java ME 是 Java 程序的分类,Java EE 不是单独 JDK,Java EE 是企业开发规范,开发 Java EE 程序依旧使用 Java SE 的 JDK,不要误以为要单独安装三套 JDK。
问题 2 JavaWeb 属于哪一类 Java 程序
回答 1 JavaWeb 属于 Java EE 企业版体系里面的 Web 类 Java 程序,JavaWeb 程序建立在 Java SE 基础之上,运行在 Tomcat 这类 Web 容器里面。
问题 3 Java ME 现在还常用吗
回答 1 Java ME 属于老式嵌入式 Java 程序分类,现在新项目很少使用 Java ME,Java ME 主要保留在部分老旧工业设备,主流开发方向基本都是 Java SE 加企业后端开发。
【免责申明】
本文属于 Java 程序分类科普,Oracle 官方命名规范后续有更新,Java EE 已经移交开源社区改名 Jakarta EE,不同教材分类表述会存在差异,内容仅作为学习参考。


