Java面试深度解析:EJB、RMI与Find vs Select

需积分: 0 1 下载量 128 浏览量 更新于2024-07-26 收藏 689KB PDF 举报
"Java面试题,涵盖EJB、RMI等相关知识点,包括EJB的定义、EJB容器的作用,RMI的解释,EJB的种类及其作用,以及实体Bean(CMP和BMP)的区别,最后讨论了find与select方法的不同。" 在Java面试中,深入理解EJB(Enterprise JavaBean)是非常重要的。EJB是一种分布式组件,基于Java的RMI技术,允许远程访问。EJB组件必须部署在特定的容器中,如Websphere或WebLogic,由容器负责创建和管理,客户端通过容器与EJB组件进行交互。EJB容器提供了一种环境,使得满足J2EE规范的组件能够享受到事务管理、邮件服务等系统级别的服务。 RMI(Remote Method Invocation)是Java中实现的一种远程方法调用机制,类似于RPC,但在分布式对象系统中表现更优。RMI使得位于不同地址空间的Java对象可以相互通信,实现远程调用,增强了Java开发分布式应用的能力。 EJB有三种主要类型: 1. EntityBean:代表持久化的对象,通常映射到数据库表。 2. SessionBean:负责表示业务逻辑和工作流程,协调多个Bean间的交互。 3. Message-DrivenBean:处理异步JMS(Java Message Service)消息,适用于解耦的事件驱动架构。 实体Bean分为两种管理方式: - CMP(Container-Managed Persistence,容器管理持久化):不需要在Bean中编写数据库操作代码,由容器自动处理持久化。这种方式简化了开发,但可能灵活性稍弱。 - BMP(Bean-Managed Persistence, bean管理持久化):Bean类直接负责数据库调用和持久化管理,提供了更大的灵活性,但增加了开发者的工作量。 find与select方法的区别在于: - Finder方法:返回的是EJBObject或EJBLocalObject类型的单个对象或集合,这些对象直接对应于该Bean的类型。 - Select方法:返回的是单个或多个对象(可能是集合或集),它们不一定是Bean的具体类型,可以是任何相关的数据对象。 了解这些知识点对于Java开发者,尤其是准备面试的人来说至关重要,因为它们反映了对Java企业级开发核心概念的理解和掌握。