Java EJB面试深度解析:核心概念与区别
需积分: 10 187 浏览量
更新于2024-12-25
收藏 54KB DOC 举报
"Java EJB面试题"
在Java企业级开发中,Enterprise JavaBeans (EJB) 是一种标准的组件模型,用于构建可部署在Java应用服务器上的分布式、面向服务的后端应用。EJB提供了诸如事务管理、安全性和并发控制等高级功能,使得开发者可以专注于业务逻辑,而无需关注底层基础设施。
EJB 2.0规范包含的内容有:
1. Bean 提供者:创建EJB组件的开发者或组织。
2. 应用程序装配者:负责将EJB组件整合到应用程序中的人。
3. EJB 容器:执行EJB生命周期管理、安全性、事务、并发控制等核心功能的组件。
4. EJB 配置工具:用于配置和部署EJB的工具。
5. EJB 服务提供者:提供运行EJB所需服务的厂商,如应用服务器。
6. 系统管理员:管理EJB环境和配置的人。
EJB 2.0相对于1.1版本的主要区别在于增加了对组件的更多管理和支持,比如引入了容器管理的持久化(CMP),简化了EJB的使用,并强化了事务和安全特性。
EJB与JavaBean之间的主要区别在于:
1. JavaBean是可复用的组件,主要用于用户界面展示,没有严格的规范,但通常需要有无参构造器且实现Serializable接口。
2. EJB则是一种服务器端的组件,通常用于处理业务逻辑和数据访问,支持远程调用,具有更严格的规范和更复杂的生命周期管理。
3. JavaBean通常是本地进程内的组件,不支持跨进程访问;EJB基于RMI和JNDI,可以实现跨进程、跨计算机的远程访问。
4. EJB必须部署在应用服务器中,由容器管理,而JavaBean可以直接在Servlet容器(如Tomcat)中运行。
EJB基于的技术包括JNDI(Java Naming and Directory Interface)用于查找和绑定组件,RMI(Remote Method Invocation)实现远程调用,以及JTA(Java Transaction API)进行事务管理。EJB主要分为三类:
1. SessionBean:负责业务逻辑,分为Stateful Session Bean(状态会话bean)和Stateless Session Bean(无状态会话bean)。
- Stateful Session Bean保持客户端会话状态,每个客户端都有一个单独的bean实例,适合需要维护用户状态的场景。
- Stateless Session Bean不保存客户端状态,同一类型的所有客户端请求共享同一bean实例,适合无状态的服务调用。
2. EntityBean:代表持久化数据,分为CMP(Container Managed Persistence,容器管理的持久化)和BMP(Bean Managed Persistence,bean自管理的持久化)。
- CMP由容器自动处理数据的持久化,减少开发者的工作量。
- BMP允许开发者自己控制数据的存储和检索,提供更多灵活性。
3. MessageDrivenBean:用于处理消息队列中的JMS(Java Message Service)消息,常用于异步处理。
面试时,理解这些概念和技术的差异及其应用场景,对于展现Java EE方面的专业能力至关重要。熟悉EJB的设计模式和最佳实践,以及如何在现代Java开发中使用轻量级替代品(如Spring框架)也是面试中可能讨论的话题。
点击了解资源详情
145 浏览量
点击了解资源详情
2012-12-10 上传
2021-11-08 上传
2021-11-20 上传
2021-10-19 上传
150 浏览量
145 浏览量
cxy15046698739
- 粉丝: 0
- 资源: 4
最新资源
- webwork2guide.pdf
- 身份认证技术分析(论文)
- birt报表参数使用
- 高质量的c++c编程指南
- Flex 3 Cookbook
- BCM5228 10/100BASE-TX/FX Transceiver
- ActionScript 3.0 Cookbook 中文版
- The International Reference Alphabet
- 你必须知道的495个C语言问题(内含完整章节,PDF格式)
- SQL Server 使用方法
- 清华大学信号与系统课件
- lingoziliao
- Advanced 3D Game Programming With Directx 9.0.pdf
- C程序设计 谭浩强 清华大学出版社
- eclipse插件开发指南
- javaeye月刊2008年6月 总第4期.pdf