JavaWeb面试必备:Servlet生命周期与数据结构,EJB核心技术详解
需积分: 9 78 浏览量
更新于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架构和组件之间的交互也是面试官关注的重点。
2016-06-04 上传
2013-01-10 上传
2024-11-19 上传
2019-04-17 上传
2021-10-07 上传
2017-10-24 上传
2021-02-15 上传