### Java面试知识点详解 #### 一、面向对象的四大特征 **1. 抽象** - **定义**:抽象是指在编程中忽略不相关的细节,只关注与当前目标相关的方面。这一过程帮助开发者集中精力处理核心逻辑,提高开发效率。 - **作用**:通过抽象,可以简化复杂系统的设计,使得问题的解决更加清晰明了。 - **分类**:抽象分为过程抽象和数据抽象两种形式。 **2. 继承** - **定义**:继承是一种面向对象编程中的特性,允许创建的新类继承已有类的属性和方法。这种机制有助于代码复用,减少重复编码工作。 - **特点**: - 新类称为子类或派生类; - 被继承的类称为父类或基类; - 子类可以继承父类的所有非私有的成员变量和方法,并可以添加自己的属性或方法; - 子类也可以覆盖父类的方法,以实现不同的功能。 - **优势**:提高了代码的复用性和扩展性。 **3. 封装** - **定义**:封装是将数据和对数据的操作包装在一起,对外界提供一个简单的接口。这样可以隐藏对象的内部细节,防止外部程序误用数据。 - **作用**:提高代码的安全性和稳定性,便于维护和扩展。 **4. 多态** - **定义**:多态是指允许不同类的对象对同一个消息作出响应的能力。这在面向对象编程中非常有用,能够简化代码结构,增强程序的灵活性。 - **分类**:多态可以分为参数化多态和包含多态。 - **优点**:提高了程序的灵活性、可扩展性和代码的复用性。 #### 二、基本数据类型与封装类型 **1. String是不是基本数据类型?** - **结论**:不是。基本数据类型包括`byte`、`int`、`char`、`long`、`float`、`double`、`boolean`和`short`。 - **String的特点**: - `String`类是`final`类型,意味着它不能被继承。 - `String`类提供了一些用于字符串操作的方法,如`length()`、`charAt()`等。 - 在内存中,`String`对象一旦创建就不能改变,因此在频繁修改字符串内容的情况下,使用`StringBuilder`或`StringBuffer`更为高效。 **2. int与Integer的区别** - **int**:属于基本数据类型,直接存储数值。 - **Integer**:`int`的封装类型,可以被视为对象。 - **区别**: - 基本类型`int`没有默认值,如果未赋值则编译器会报错;而`Integer`对象的默认值为`null`。 - `Integer`支持更多的方法,如`toString()`、`valueOf()`等,而`int`则不具备这些方法。 - 使用场景上,`int`适用于性能要求较高的场合,而`Integer`适合于需要对象的地方。 #### 三、String与StringBuffer的区别 - **String**:不可变字符串,一旦创建就不能改变。 - **StringBuffer**:可变字符串,可以在原有基础上添加、删除字符。 - **应用场景**: - 当字符串内容不需要改变时,使用`String`更为合适。 - 如果需要频繁修改字符串内容,则使用`StringBuffer`或`StringBuilder`更好。 - **线程安全性**:`StringBuffer`是线程安全的,而`StringBuilder`不是,因此在多线程环境中使用`StringBuffer`更合适。 #### 四、运行时异常与一般异常的区别 - **运行时异常**:通常由编程错误引起,例如空指针异常、数组下标越界异常等。 - **一般异常**:通常由环境因素造成,如网络连接失败等。 - **处理方式**: - Java编译器要求必须捕获或声明所有非运行时异常。 - 对于运行时异常,可以捕获处理,也可以让其自然抛出,由更高层级处理。 #### 五、Servlet的生命周期及与CGI的区别 - **生命周期**: - 初始化阶段:通过调用`init()`方法完成初始化。 - 请求处理阶段:每次客户端请求时调用`service()`方法。 - 销毁阶段:服务器关闭时调用`destroy()`方法。 - **与CGI的区别**: - **执行效率**:Servlet在同一进程中运行,而CGI为每个请求启动一个新的进程,因此Servlet效率更高。 - **资源管理**:Servlet实例一般不会销毁,可以长期驻留内存中,而CGI每次请求都需要创建新进程。 #### 六、ArrayList、Vector与LinkedList的比较 - **ArrayList** - 底层使用数组实现,支持随机访问。 - 插入或删除元素时需要调整数组大小,效率较低。 - 非线程安全。 - **Vector** - 同样使用数组实现,但线程安全。 - 效率通常低于`ArrayList`。 - **LinkedList** - 使用双向链表实现,支持快速插入和删除操作。 - 不支持随机访问,获取元素需要遍历链表。 #### 七、EJB基础及其分类 - **EJB**:企业级Java Bean,是一种服务器端组件模型,用于构建分布式、健壮的应用程序。 - **技术实现**:EJB基于Java EE标准实现,利用JNDI、JMS、JDBC等技术。 - **分类**: - **SessionBean**:分为Stateless Session Bean和Stateful Session Bean。 - Stateless Session Bean:无状态,不保存客户端信息。 - Stateful Session Bean:有状态,需要保存客户端会话信息。 - **EntityBean**:实体Bean,用于持久化数据到数据库。 - CMR(Container Managed Relationships):容器管理关系。 - BMP(Bean Managed Persistence):Bean管理持久化。 - CMP(Container Managed Persistence):容器管理持久化。 以上内容总结了Java面试中常见的知识点,涵盖了面向对象的基本概念、数据类型的区别、字符串操作、异常处理以及Web应用开发等方面的知识。对于准备参加Java面试的人来说,理解并掌握这些概念是非常重要的。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/050729664ae54e2fa012c3dff903c12c_caobean.jpg!1)
- 粉丝: 33
- 资源: 27
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- ASCII码表,全称为美国信息交换标准代码(American Standard Code for Information Int
- SpringBoot完整资料学习详细
- 主成分分析-人工智能算法学习和编程实践
- 一个在win电脑上可以解析Android应用的程序
- RJFireWall-marything
- 学生账号信息20240912.zip
- led-tcp-masttkinter
- RJFireWall-madroid st
- Transformer模型是一种由谷歌公司在2017年提出的基于自注意力机制的神经网络模型,它在自然语言处理(NLP)以及其他序
- 鸢尾花-iris数据集,用于人工智能算法学习和编程实践
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)