JavaWeb面试必备:Servlet生命周期与数据结构,EJB核心技术详解

需积分: 9 1 下载量 141 浏览量 更新于2024-09-15 收藏 71KB DOC 举报
JavaWeb面试题集 在JavaWeb开发领域,面试过程中经常涉及到一些基础概念和技术的理解。以下是一些关键知识点: 1. Servlet生命周期与CGI比较 Servlet是Java Web应用的核心组成部分,其生命周期主要包括以下几个阶段: - **实例化**:服务器接收到请求时,会创建Servlet实例。 - **初始化(init)**:服务器调用Servlet的`init()`方法,初始化Servlet环境和资源。 - **服务请求(service)**:每当有请求到来,服务器会调用`service()`方法,根据HTTP方法(如GET或POST)选择相应的`doGet()`或`doPost()`方法执行。 - **业务逻辑**:doXXX方法(如doGet、doPost)处理用户请求。 - **销毁(destroy)**:当服务器不再需要Servlet时,调用`destroy()`方法释放资源。 与传统的Common Gateway Interface (CGI)相比,Servlet具有明显优势: - **效率**:Servlet是驻留在服务器进程中的,通过多线程处理请求,单个实例可以响应多个请求,避免了CGI每次请求新进程的开销。 - **持久性**:Servlet实例通常不会在请求完成后立即销毁,提高了资源利用效率。 2. 集合框架性能与特性 在Java集合框架中,ArrayList、Vector和LinkedList各有特点: - **ArrayList**:基于动态数组实现,增删元素时需要移动部分元素,索引访问速度快但插入删除慢。 - **Vector**:线程安全的ArrayList,性能略逊于ArrayList,因为同步机制增加了额外开销。 - **LinkedList**:采用双向链表结构,插入和删除操作高效,但随机访问性能较差,需要遍历查找。 3. EJB技术及类型 Enterprise JavaBeans (EJB) 是Java EE平台的关键组件,它基于JNDI(Java Naming and Directory Interface)、RMI(Remote Method Invocation)和JTA(Java Transaction API)等技术实现。EJB主要类型包括: - **SessionBean**:用于处理服务器端业务逻辑,分为StatefulSessionBean(状态ful,会记住客户端状态)和StatelessSessionBean(状态less,无状态,每次请求都会创建新的实例)。 - **EntityBean**:表示持久化的应用数据,通常存储在数据库中,是JPA(Java Persistence API)的前身,代表数据库中的实体对象。 面试时,熟悉这些概念的细节以及它们在实际项目中的应用至关重要,可以帮助你更好地理解和解决实际问题。同时,了解JavaWeb架构和组件之间的交互也是面试官关注的重点。