【EJB面试题详解】 EJB(Enterprise JavaBeans)是Java EE平台中用于构建企业级应用的核心组件。在面试中,EJB相关的题目通常涉及到EJB的版本差异、功能、与Java Bean的区别以及其实现机制。 1. **EJB2.0与EJB1.1的区别** - EJB2.0引入了更丰富的组件模型,包括Session Beans(会话bean)、Entity Beans(实体bean)和Message-Driven Beans(消息驱动bean),并且提供了更强的事务管理和安全特性。 - EJB2.0引入了EJB容器的概念,它负责管理和维护bean的生命周期,以及与数据库、网络通信等基础设施的交互。 - EJB2.0引入了CMP(容器管理的持久性)和BMP( bean管理的持久性),使得开发者可以更方便地处理实体bean的持久化。 2. **EJB与Java Bean的区别** - Java Bean是轻量级的组件,主要用于构建桌面应用或网页应用。它通常具有无参数构造器,并实现Serializable接口以支持序列化。 - EJB是重量级的组件,设计用于分布式的企业级应用。它可以是会话bean(处理业务逻辑)、实体bean(表示持久数据)或消息驱动bean(处理JMS消息)。 - EJB具备远程调用能力,可以跨进程、跨机器进行通信,而Java Bean通常局限于单个进程内。 3. **EJB实现的技术基础** - EJB的实现依赖于Java Naming and Directory Interface (JNDI)用于查找和绑定bean,Remote Method Invocation (RMI)用于远程调用,Java Authentication and Authorization Service (JAAS)提供安全控制,Java Transaction API (JTA)管理事务。 - Session Beans分为Stateful Session Beans和Stateless Session Beans。Stateful Session Beans保持与客户端的会话状态,每个客户端都有对应的实例,适合处理需要用户状态的场景。而Stateless Session Beans不保存状态,对所有请求提供统一的服务,更适用于无状态的业务逻辑。 4. **Entity Beans的特性** - Entity Beans代表应用程序中的持久数据,可以映射到数据库表。Entity Beans可以是CMP或BMP,前者由容器管理数据存储,后者则由开发者自己管理。 5. **面试中的其他考虑点** - EJB3.0引入了注解,简化了bean的配置,使得开发更加便捷。 - EJB4.0及后续版本进一步增强了轻量化,可以部署在更广泛的环境中,包括Tomcat等轻量级应用服务器。 - 当讨论EJB面试题时,理解EJB的角色,如何与JSP、Servlet协同工作,以及EJB如何提供分布式计算的能力是很关键的。 EJB作为Java EE的重要组成部分,对于开发大规模、高可用性的企业应用至关重要。了解EJB的工作原理、组件类型和使用场景,是成为一名合格的Java EE开发者的基础。在面试中,深入理解并能灵活运用这些知识,将有助于展示你的专业技能和经验。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助