### Java面试宝典之葵花宝典核心知识点详解 #### 面向对象的四大特征 1. **抽象** - 定义:抽象是指在编程中忽略与当前任务无关的细节,专注于与任务直接相关的方面。 - 分类: - 过程抽象:指对行为或操作进行抽象,比如定义接口。 - 数据抽象:指对数据类型的抽象,如定义类。 - 作用:简化问题复杂度,增强代码复用性和可维护性。 2. **继承** - 定义:继承是一种创建新类的方式,该新类可以继承现有类的属性和方法。 - 特点: - 基类(父类):被继承的类。 - 派生类(子类):继承自基类的新类。 - 优势:促进代码复用,提高开发效率。 3. **封装** - 定义:封装是将数据和操作这些数据的方法绑定在一起,对外只暴露必要的接口。 - 目的:隐藏实现细节,提供统一的操作接口,确保数据的安全性。 - 实现:通过访问控制符(如private、protected等)来限制对类内部成员的访问。 4. **多态性** - 定义:多态性允许不同类的对象对同一消息作出响应。 - 类型: - 参数化多态性:通过泛型实现的多态。 - 包含多态性:通过继承和重写实现的多态。 - 优点:提高灵活性,减少耦合度,便于扩展和维护。 #### String是否为基本数据类型 - 结论:`String`不是基本数据类型。 - 解释:Java中的基本数据类型包括`byte`、`int`、`char`、`long`、`float`、`double`、`boolean`和`short`。`String`是`java.lang.String`类的实例,属于引用类型。 #### int与Integer的区别 - `int`是Java的基本数据类型之一,用于表示整数。 - `Integer`是`int`的封装类,可以理解为`int`的“包装版”。 - 主要区别: - 存储方式:`int`直接存储值;`Integer`存储的是指向该整数值的一个对象的引用。 - 默认值:`int`默认值为0;`Integer`默认值为`null`。 - 使用场景:`int`适用于性能要求高的场合;`Integer`适用于需要对象的地方,如集合框架。 #### String与StringBuffer的区别 - `String`是不可变的字符串类,一旦创建后其内容不能更改。 - `StringBuffer`是可变的字符串类,支持对字符串内容的修改操作。 - 性能对比: - 对于简单的字符串拼接,`String`可能更高效。 - 当频繁修改字符串内容时,`StringBuffer`更为合适。 - 多线程环境下,`StringBuffer`提供了同步机制以保证线程安全。 #### 运行时异常与一般异常的差异 - **运行时异常**: - 通常由编程错误引起,如空指针异常、数组越界等。 - 不必在方法签名中声明抛出。 - **一般异常**(非运行时异常): - 通常由外部因素导致,如文件不存在等。 - 方法必须显式声明抛出此类异常。 #### Servlet的生命周期及与CGI的区别 - **Servlet生命周期**: - 初始化阶段:通过`init()`方法初始化。 - 请求处理阶段:通过`service()`方法处理客户端请求。 - 销毁阶段:通过`destroy()`方法清理资源。 - **Servlet与CGI的区别**: - **Servlet**:多线程运行,单个实例可以处理多个请求,效率高。 - **CGI**:每个请求启动一个新进程,处理完请求后进程销毁,效率较低。 #### ArrayList、Vector、LinkedList的比较 - **ArrayList** - 底层实现:基于数组。 - 性能特点:索引访问速度快,插入删除慢。 - 线程安全性:非线程安全。 - **Vector** - 底层实现:基于数组。 - 性能特点:与`ArrayList`类似,但由于增加了同步机制,性能略低。 - 线程安全性:线程安全。 - **LinkedList** - 底层实现:基于双向链表。 - 性能特点:索引访问慢,插入删除快。 - 线程安全性:非线程安全。 #### EJB技术及其组件 - **EJB(Enterprise JavaBeans)**: - 是Java EE中的一种组件模型,用于开发分布式系统。 - 基于Java技术实现,包括远程接口、本地接口、Home接口等。 - **SessionBean**: - 用于实现业务逻辑。 - 分为Stateless Session Bean和Stateful Session Bean。 - Stateless Session Bean:不保留会话状态。 - Stateful Session Bean:保留会话状态。 - **EntityBean**: - 用于表示持久化数据的对象。 - 可分为Bean Managed Persistence (BMP) 和 Container Managed Persistence (CMP) 两种类型。 - BMP:开发者管理持久化逻辑。 - CMP:容器管理持久化逻辑。
剩余44页未读,继续阅读
- 粉丝: 3
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助