Java面试精华:EJB规范、远程接口与Bean生命周期详解

需积分: 7 0 下载量 117 浏览量 更新于2024-09-17 收藏 158KB PDF 举报
Java面试中,关于JSP和EJB的部分问题及知识点深入解析: 1. EJB规范中的限制: - 禁止操作线程API(如notify、wait等),因为EJB是基于线程池的,应避免直接干预。 - 不得使用AWT进行界面设计,因为它属于客户端组件,不适合服务器端操作。 - 不能实现服务器功能,确保职责明确。 - 避免静态属性访问,因为它们与单例模式冲突。 - 严禁直接使用IO操作存取文件系统,这可能导致安全和性能问题。 - 不能加载本地库,以防止依赖和兼容性问题。 - 禁止将`this`作为变量传递或返回,遵循面向对象的设计原则。 2. EJB接口的作用: - `remote`接口:定义了远程接口,允许客户端通过RMI或其他远程调用协议访问EJB的业务逻辑。 - `home`接口:是EJB的管理和查找接口,用于客户端获取EJB实例的代理。 3. Bean实例生命周期: - StatelessSessionBean和EntityBean通常在缓冲池中管理,复用实例,提高性能。 - MessageDrivenBean由容器自动管理,不涉及缓存。 - EntityBean和StatefulSessionBean可能采用Cache管理,涉及实例创建、上下文设置、调用业务方法和释放资源。 4. EJB的激活机制: - StatefulSessionBean的Cache控制实例数量,通过MRU或NRU算法决定何时激活或去激活。 - 当客户端请求时,未被使用的Bean实例会被从去激活状态恢复(激活),调用ejbActive和ejbPassivate方法。 5. EJB的类型: - 会话Bean(Session):分为有状态(Stateful)和无状态(Stateless)两种,前者具有事务管理和持久状态。 - EntityBean:用于持久化数据,分为BMP(Bean管理的持久性)和CMP(容器管理的持久性)两种模型。 这些知识点在Java面试中至关重要,展示了面试者对EJB规范的深入理解和在实际开发中如何应用EJB进行高效且符合规范的编程。掌握这些内容可以帮助应聘者在Java开发领域展示其专业技能和经验。