Java技术体系
广义上,Kotlin、Clojure、JRuby、Groovy等运行于Java虚拟机上的编程语言及其相关的程序
都属于Java技术体系中的一员。
传统意义上,JCP(Java Community Process,Java社区,一个由业界多家技术巨头组成的
社区组织,用于定义和发展Java的技术规范。)定义的Java技术体系包括以下几个组成部分:
- Java程序设计语言
- 各种硬件平台上的Java虚拟机实现
- Class文件格式
- Java类库API
- 来自商业机构和开源社区的第三方Java类库
JDK和JRE
Java程序设计语言、Java虚拟机、Java类库这三部分统称为JDK(Java Development
Kit),JDK是用于支持Java程序开发的最小环境。
Java类库API中的Java SE API子集[3]和Java虚拟机这两部分统称为
JRE(Java Runtime Environment),JRE是支持Java程序运行的标准环境。
Java技术体系锁包含的内容,如下图:
四条主要产品线:
- Java Card:支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。
- Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API
有所精简,并加入了移动终端的针对性支持,这条产品线在JDK 6以前被称为J2ME。有一点读者请勿
混淆,现在在智能手机上非常流行的、主要使用Java语言开发程序的Android并不属于Java ME。
- Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提
供了完整的Java核心API,这条产品线在JDK 6以前被称为J2SE。
- Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、MIS、CRM应用)的
Java平台,除了提供Java SE API外,还对其做了大量有针对性的扩充[4],并提供了相关的部署支持,
这条产品线在JDK 6以前被称为J2EE,在JDK 10以后被Oracle放弃,捐献给Eclipse基金会管理,此后被
称为Jakarta EE。