Java面试必备:EJB、RMI深度解析与实战

需积分: 9 1 下载量 122 浏览量 更新于2024-07-26 收藏 264KB DOC 举报
"这是一份关于Java面试的资料,主要涵盖了Java框架及EJB相关的知识,适合准备Java面试的人员学习。资料中包含了EJB的概念、EJB容器的作用、RMI的解释,以及EJB的三种类型和实体Bean的CMP与BMP的区别,还讨论了Find与Select方法的不同。" 在Java面试中,EJB(Enterprise JavaBean)是一个重要的知识点。EJB是一种分布式组件模型,基于Java的RMI技术,允许远程访问。它需要部署在如Websphere或WebLogic这样的容器中,客户端并不直接与EJB组件交互,而是通过容器作为代理。EJB容器提供了组件的生命周期管理,包括创建、销毁以及各种系统级别的服务,如事务管理、邮件服务等。 RMI(Remote Method Invocation)是Java的一种远程方法调用机制,自JDK 1.1起引入,增强了Java开发分布式应用的能力。RMI允许不同地址空间的对象之间进行通信,实现了远程对象调用的无缝对接,可以视为RPC的Java实现,特别适合于构建分布式对象系统。 EJB有三种主要类型: 1. Entity Bean:代表持久化的业务对象,通常映射到数据库中的记录。CMP(Container-Managed Persistence)实体Bean由容器自动管理数据操作,而BMP(Bean-Managed Persistence)实体Bean需要开发者自己编写数据库交互代码,具有更高的灵活性但维护更复杂。 2. Session Bean:用于表示临时性的业务逻辑或工作流程,协调各个Bean之间的交互。它们不负责持久化状态,可以是无状态(Stateless)或有状态(Stateful)。 3. Message-Driven Bean:专门用于处理JMS(Java Message Service)异步消息,常用于解耦系统组件。 Finder和Select方法都是在EJB中用于检索数据的方法。Finder方法通常用于根据特定条件查找单个或多个Bean实例,返回EJBObject或EJBLocalObject。而Select方法则可能返回满足指定查询的集合,它们通常基于JPQL(Java Persistence Query Language)或类似SQL的查询语句,用于更复杂的查询操作。 了解这些概念和区别对于Java开发者,尤其是准备面试的人来说至关重要,因为它们涵盖了企业级Java应用开发的基础和核心内容。掌握这些知识能够帮助面试者展示出对Java企业级应用的理解和实践经验。