这份面试题总内容包含了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。 ### Java面试题总结知识点 #### 一、Java基础 1. **JDK和JRE的区别** - **JDK**(Java Development Kit)是Java的开发工具包,它包含了Java运行环境(JRE)以及编译器(javac)和其他一些用于开发Java应用程序的工具和文档。JDK提供了必要的类库和工具,使开发者能够在Java环境中编写和测试程序。 - **JRE**(Java Runtime Environment)是Java程序的运行环境,包含了Java虚拟机(JVM)及Java核心类库。安装JRE时会自动配置环境变量`PATH`,使得Java应用程序可以在未安装JDK的系统上运行。 2. **== 和 equals 的区别** - `==`用于比较基本数据类型时,直接比较值是否相等;用于比较引用类型时,比较的是对象的内存地址是否相同。 - `equals`默认行为是比较对象的内存地址,但很多类(如`String`, `Date`等)重写了`equals`方法,使其比较对象的内容是否相同。 3. **两个对象的`hashCode()`相同,则`equals()`也一定为true?** - 如果两个对象`equals`相等,则它们的`hashCode`一定相等。 - 但是`hashCode`相等,并不意味着`equals`一定为真。这是因为存在哈希冲突的可能性,即不同对象可能拥有相同的`hashCode`值。 4. **`final`关键字的作用** - 用于修饰类时,表示该类不能被继承。 - 用于修饰属性时,表示该属性一旦初始化之后就不能被更改。 - 用于修饰方法时,表示该方法不能被子类重写。 5. **`Math.round(-1.5)`的结果** - `Math.round()`方法用于对数字进行四舍五入处理。当参数为负数时,会向零的方向进行四舍五入。因此`Math.round(-1.5)`的结果为`-1`。 6. **`String`是否属于基础数据类型** - `String`不是基础数据类型,而是引用类型。在Java中,`String`是一个特殊的类,用于表示不可变的字符序列。 7. **Java中的字符串操作类及其区别** - **`String`**:不可变字符串,适用于频繁查询而不改变的场景。 - **`StringBuilder`**:可变字符串,线程不安全,性能较高,适用于单线程下的字符串构建。 - **`StringBuffer`**:可变字符串,线程安全,性能相对较低,适用于多线程环境下的字符串构建。 8. **`String str="i"`与`String str=new String("i")`的区别** - `String str="i"`直接引用常量池中的字符串。 - `String str=new String("i")`在堆中创建一个新的字符串对象。 - 尽管这两个表达式的值相同,但它们分别指向不同的对象。 9. **字符串反转方法** - 使用`StringBuilder`的`reverse()`方法。 - 使用`String`的`toCharArray()`方法,然后反向遍历数组并重新构造字符串。 - 使用递归方法进行字符串反转。 10. **`String`类的常用方法** - `charAt(int index)`:返回指定索引处的字符。 - `length()`:返回字符串的长度。 - `split(String regex)`:根据给定的正则表达式拆分字符串。 - `toString()`:返回此对象的字符串表示形式。 11. **抽象类必须要有抽象方法吗?** - 抽象类不必含有抽象方法,但是含有抽象方法的类必须被声明为抽象类。 12. **普通类和抽象类的区别** - 抽象类不能实例化,而普通类可以。 - 抽象类的访问权限限于`public`和`protected`,如果为`private`则无法被继承。 - 继承抽象类的子类必须实现所有抽象方法,除非该子类也被声明为抽象类。 13. **抽象类能否使用`final`修饰?** - 不可以。`final`修饰的类不能被继承,而抽象类的本质在于被继承并实现其中的抽象方法,因此抽象类不能被声明为`final`。 14. **接口和抽象类的区别** - 抽象类可以有构造方法,而接口不能有构造方法。 - 抽象类可以有非抽象方法(即具体实现),而接口中的所有方法默认都是抽象的(从Java 8开始支持默认方法和静态方法)。 - 抽象类可以提供部分实现,接口只能提供行为规范。 - 类可以继承多个接口,但只能继承一个抽象类。 - 抽象类可以拥有实例变量,而接口中只能定义静态最终变量(即常量)。 - 接口提供了多重继承的功能,而抽象类没有。 - 抽象类可以被声明为`final`,这在逻辑上是矛盾的,因此实际上无法实现;而接口不能被声明为`final`。 Java基础部分覆盖了Java语言的核心概念和技术要点,包括基本类型、对象模型、字符串操作、类和接口的定义等。对于面试准备而言,深入理解和掌握这些基础知识是非常重要的。接下来的部分将继续涵盖容器、多线程、反射等高级主题。
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/release/download_crawler_static/11177032/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/11177032/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/11177032/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/11177032/bg4.jpg)
![](https://csdnimg.cn/release/download_crawler_static/11177032/bg5.jpg)
剩余26页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/9f07353e20624de69eaf54a35ce8689a_weixin_44965824.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的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)
最新资源
- 【创新发文】秃鹰算法BES-DELM预测(多输入单输出)【含Matlab源码 6953期】.zip
- 【创新发文】向量加权平均算法INFO-DELM预测(多输入单输出)【含Matlab源码 6955期】.zip
- 【创新发文】向量加权平均算法INFO-DELM预测(多输入单输出)【含Matlab源码 6955期】.zip
- 【创新发文】星雀算法NOA-DELM预测(多输入单输出)【含Matlab源码 6956期】.zip
- 【创新发文】星雀算法NOA-DELM预测(多输入单输出)【含Matlab源码 6956期】.zip
- 【创新发文】雪融算法SAO-DELM预测(多输入单输出)【含Matlab源码 6957期】.zip
- 【创新发文】雪融算法SAO-DELM预测(多输入单输出)【含Matlab源码 6957期】.zip
- 【创新发文】天鹰算法AO-DELM预测(多输入单输出)【含Matlab源码 6952期】.zip
- 【创新发文】天鹰算法AO-DELM预测(多输入单输出)【含Matlab源码 6952期】.zip
- 【创新发文】雾凇算法RIME-DELM预测(多输入单输出)【含Matlab源码 6954期】.zip
- 【创新发文】雾凇算法RIME-DELM预测(多输入单输出)【含Matlab源码 6954期】.zip
- 【创新发文】遗传算法GA-DELM预测(多输入单输出)【含Matlab源码 6958期】.zip
- 【创新发文】遗传算法GA-DELM预测(多输入单输出)【含Matlab源码 6958期】.zip
- 【创新发文】蚁狮算法ALO-DELM预测(多输入单输出)【含Matlab源码 6959期】.zip
- 【创新发文】蚁狮算法ALO-DELM预测(多输入单输出)【含Matlab源码 6959期】.zip
- 【创新发文】引力搜索算法GSA-DELM预测(多输入单输出)【含Matlab源码 6960期】.zip
![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)