相关概念
Java平台共分为三个主要版本:Java SE、Java EE 和 Java ME。
- Java SE,Java Platform Standard Edition,Java平台标准版, 基本等同于 JDK;
- Java EE,Java Platform Enterprise Edition,也即Java平台企业版,JavaEE实际上是一系列技术标准的集合,并不提供具体实现;
- Java ME,Java Platform Micro Edition,用于嵌入式和移动设备的Java平台,已经式微。
Java EE相关阅读:
- Java EE未来路在何方? - 掘金
- 开发者眼中的Spring与Java EE - InfoQ
- 关于J2EE和Spring目前到底是怎样的关系,以及未来这两者的发展是怎样的,是否存在竞争市场的情况? - 知乎
J2EE里面的2是什么意思?
J2SE,J2SE,J2ME中2的含义要追溯要1998年。
1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三个版本,分别叫做Java2SE,Java2EE,Java2ME,简称J2SE,J2EE,J2ME。故,2的含义为1.2版本。但是,这种叫法已经在2005年Java 1.6发布后取消,J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。
所以,现在的J2EE等叫法是05年以前旧的叫法。
Java EE是一系列技术标准所组成的平台,包括:
- Servlet: Java Servlet API
- JNDI(Java Name and Directory Interface): Java命名和目录接口,它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象。
并提供了一致的模型来存取和操作企业级的资源如DNS和LDAP、本地文件系统、或应用服务器中的对象。 - JTA(Java Transaction API): Java事务API.
- JTS(Java Transaction Service): Java事务服务.
- JPA(Java Persistence API): 通过注解或XML描述对象-关系表的映射关系, 并将对象持久化到数据库中, 实现有Spring-data-jpa, Hibernate。
- JMS(Java Message Service): Java消息服务接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
Java消息服务的规范包括两种消息模式,点对点和发布者/订阅者。 - JMX(Java Management Extensions): Java管理扩展,JMX提供了一套接口,让开发者和管理者可以通过 MBean 获取程序运行的状态以及动态的修改程序的相关配置。
JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
Tomcat、Kafka等都通过JMX实现了监控接口,Jconsole和VisualVM可以通过JMX协议获取程序运行状态实现监控。 - Java Bean: 一般情况下指的是实体类, 所有属性为private, 提供默认构造方法和getter, setter, 如果一个JavaBean需要在不同的JVM的进程中进行传递,还需要实现Serializable接口.
- MBean(Managed Bean): 托管Bean, 是一种通过依赖注入创建的Java Bean。MBean代表了运行在Java虚拟机上的资源,例如应用程序或Java EE服务(事务监控、JDBC驱动程序等)。
其可以用于收集如性能、资源使用率、问题信息等关键的统计信息(通过拉取),获取或设置应用程序的配置或属性(通过推送或拉取),以及对故障或状态变化等的通知事件(通过推送)。 - EJB(Enterprise JavaBean): 企业级JavaBean, 与普通Java Bean 的区别: JavaBean的使用可以不需要容器,EJB的运行一般需要EJB容器(即应用服务器,如JBoss/Weblogic/Websphere…
- POJO(Plain Ordinary Java Object): 简单的Java对象, 实际就是普通Java Beans, 是为了避免和EJB混淆所创造的简称
- JDBC(Java Database Connectivity): 是一个标准 SQL(Structured Query Language, 结构化查询语言)数据库访问接口
这里是一份来自 Oracke的 JavaEE 技术列表
JavaEE的发展
- 2017 年 3 月: InfoQ观点:Java EE的未来
- 2018 年 2 月: Java EE重命名为Jakarta EE:Java EE Guardians与Oracle的分歧
- 2019 年 5 月: 谈判失败,Oracle亲手把Java EE送上断头台
JTA (Java Transaction API)
@Ref:
- Java Transaction API (JTA)
- Guide to Jakarta EE JTA | Baeldung
- Understanding JTA - The Java Transaction API
- Configuring Spring and JTA without full Java EE
JTS (Java Transaction Service):
@Ref:
JMS (Java Message Service)
@Ref: