JAVA面试必备知识点:String, Exception, Servlet等解析

需积分: 1 0 下载量 25 浏览量 更新于2024-09-13 收藏 58KB TXT 举报
"JAVA面试经典" 在JAVA面试中,经常会出现一些核心问题,这些问题涵盖了语言基础、类库使用、编程规范、异常处理等多个方面。以下是一些常见的面试知识点: 1. **字符串常量池** - 在Java中,字符串字面量会存储在字符串常量池中。如果创建的字符串在常量池中已经存在,那么它将不会创建新的对象,而是返回已存在的引用。这可以节省内存并提高性能。 2. **字符串连接** - 在进行字符串连接时,应避免频繁使用 "+" 操作符,因为它会导致不必要的字符串对象创建。如果需要大量拼接字符串,建议使用 `StringBuilder` 或 `StringBuffer` 类,它们提供了更高效的方法来构建字符串。 3. **对象初始化** - 对象初始化通常包括实例化和初始化两个步骤。构造函数用于实例化,而初始化块则用于执行特定的初始化操作。静态初始化块在类加载时执行,非静态初始化块在对象创建时执行。 4. **基本类型与包装类** - Java提供了一对一的基本类型(如int、char)与其对应的包装类(如Integer、Character)。自动装箱和拆箱使得它们之间可以相互转换。但是需要注意的是,包装类的对象是对象,有引用和null的概念,而基本类型没有。 5. **异常处理** - Java中的异常分为检查型异常(Checked Exception)和运行时异常(Unchecked Exception)。检查型异常在编译阶段必须处理,而运行时异常可以在运行时处理。一个方法可以抛出一个或多个异常,也可以声明不抛出任何异常。 6. **Servlet与CGI** - Servlet是一种Java Web技术,用于处理HTTP请求。它通过`init`方法初始化,`service`方法处理请求,`destroy`方法销毁。CGI是早期的Web服务器扩展技术,每次请求都会启动一个新的进程,效率较低。相比之下,Servlet更加高效且适合处理高并发。 7. **集合框架** - ArrayList和Vector都是基于数组实现的列表,但ArrayList是非线程安全的,适合于读取密集型操作;Vector是线程安全的,但在多线程环境下性能较差。LinkedList是基于链表的列表,插入和删除操作效率较高,但随机访问性能相对较差。 8. **EJB(Enterprise JavaBeans)** - EJB是Java企业级应用的核心组件,主要用于构建分布式、事务管理的业务逻辑。EJB分为三种类型:会话bean(Session Beans)处理客户端交互,实体bean(Entity Beans)持久化数据,消息驱动bean(Message-driven Beans)处理消息队列。 这些知识点只是Java面试中的一部分,深入理解并能灵活运用这些概念对于成为一名合格的Java开发者至关重要。在面试中,除了理论知识,面试官还会关注候选人的实际问题解决能力和项目经验。