先来看Oracle官网的解释:

  • Java EE:Java Platform, Enterprise Edition

    Java平台企业版(JavaEE)是社区驱动企业软件的标准。Java EE是利用Java Community Process开发的,业界专家、商业和开源组织、Java用户组以及无数个人为此做出了巨大贡献。每个版本都集成了符合行业需求的新功能,提高了应用程序的可移植性,并提高了开发人员的生产效率。

  • Java SE:Java Platform, Standard Edition

    Java平台标准版(JavaSE)允许您在台式机和服务器上开发和部署Java应用程序。Java提供了当今应用程序所需要的丰富的用户界面、性能、多功能性、可移植性和安全性。

  • Java ME:Java Platform, Micro Edition

    Java平台微型版(Java ME)为运行在物联网嵌入式和移动设备上的应用程序提供了一个强健、灵活的环境:微控制器、传感器、网关、移动电话、个人数字助理(PDA)、电视机顶盒、打印机等。Java ME包括灵活的用户界面、强健的安全性、内置的网络协议,以及对可动态下载的在线和离线应用程序的支持。基于Java ME的应用程序可以跨多个设备移植,但可以利用每个设备的本机功能。

Java EE、Java SE、Java ME可以理解为是三套平台标准,用于不同的方向和需求。

Java SE是最基础的,我们平常所说的JDK16其实全名叫做”Java SE Development Kit 16“,这里面包含Java平台的基础。

那有没有”Java EE Development Kit“呢?并没有,在Oracle的官网上介绍Java EE的页面有这样一句话”目前,Java EE提供了一个丰富的企业软件平台,有20多种兼容的Java EE实现可供选择“,所以Java EE更像是种规范,而由各开源团体、公司依照Java EE的规范提供了具体实现,例如:”GlassFish Server Open Source Edition“、”Red Hat JBoss Enterprise Application Platform“等等。所以,并不存在”Java EE的JDK“,但Oracle官网的确提供了一个“Java EE Platform SDK 8u1”。那这个包是干嘛的呢?官网是这样介绍的:

一个免费的集成开发工具包,用于构建、测试和部署JavaEE8应用程序。

它包含:

  • GlassFish开源版本5.0.1
  • Java EE 8代码示例
  • Java EE 8API文档
  • Java EE 8教程
  • 您的第一杯:Java EE平台简介

我在官网下载了最新版的“Java EE Platform SDK 8u1”(java_ee_sdk-8u1.zip)后,将其解压得到了一个目录glassfish5

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
.
├── README.txt
├── bin
│   ├── asadmin
│   └── asadmin.bat
├── docs
│   ├── api
│   ├── firstcup
│   └── javaee-tutorial
├── glassfish
│   ├── bin
│   ├── common
│   ├── config
│   ├── docs
│   ├── domains
│   ├── legal
│   ├── lib
│   ├── modules
│   └── osgi
├── index.html
├── javadb
│   ├── KEYS
│   ├── LICENSE
│   ├── NOTICE
│   ├── RELEASE-NOTES.html
│   ├── bin
│   ├── index.html
│   └── lib
├── mq
│   ├── bin
│   ├── etc
│   ├── legal
│   └── lib
└── samples
    ├── README.md
    ├── batch
    ├── cdi
    ├── concurrency
    ├── connectors
    ├── docs
    ├── ejb
    ├── el
    ├── index.html
    ├── jsf
    ├── jsonb
    ├── jsonp
    ├── platform
    ├── pom.xml
    ├── rest
    ├── security
    ├── servlet
    └── websocket

所以,官方提供的也不是像JDK一样的内容,而是Java EE的一个具体实现:glassfish

但是Java EE的这些实现,我都感觉很陌生,至少从没有直接使用过。可能是因为我从写代码就开始使用Spring了吧,Spring提供了更轻量级、更便利的企业级解决方案,而且目前Spring已经推出了“Spring Native”,将不再依赖JVM,未来究竟是什么样的尚未可知。

至于Java ME,这也是种规范,是一套标准。做了5年Java后端,仍未接触到过Java EE相关内容,或者做安卓的话会了解的稍微多一点吧。