Java面试必备:基础、容器与多线程知识点解析
需积分: 9 41 浏览量
更新于2024-07-15
收藏 1.48MB PDF 举报
"Java面试题和答案.pdf包含了2021年最新的Java面试知识点和解答,涵盖Java基础、容器和多线程等核心领域。"
Java面试题与答案的详细解析:
1. JDK和JRE有什么区别?
JDK(Java Development Kit)是Java开发工具包,包含JRE(Java Runtime Environment)以及编译器、调试器和其他工具,用于开发、运行和管理Java应用程序。JRE则是Java程序运行所需的基础环境,只包含运行Java程序所需的库和虚拟机。
2. ==和equals的区别是什么?
==用于比较基本数据类型的值是否相等,而对于对象,它比较的是两个引用是否指向同一个内存地址。equals()方法是Object类中的一个方法,用于比较对象的内容是否相等,子类可以重写这个方法以提供特定的比较逻辑。
3. 两个对象的hashCode()相同,则equals()也一定为true,对吗?
不一定。hashCode()相同意味着两个对象在哈希表中可能位于同一位置,但它们的内容可能不同。只有当equals()返回true时,才表示两个对象是相等的。
4. final在Java中有什么作用?
final关键字用于声明常量、防止变量被重新赋值、确保方法不可覆盖以及限制匿名内部类的实例化。
5. java中的Math.round(-1.5)等于多少?
Math.round(-1.5)会四舍五入为-1。
6. String属于基础的数据类型吗?
不是,String是对象,属于引用数据类型,不是基础类型如int、char等。
7. Java中操作字符串都有哪些类?它们之间有什么区别?
主要有String、StringBuilder和StringBuffer。String是不可变的,而StringBuilder和StringBuffer是可变的,适用于字符串拼接等操作,后者在线程安全的情况下更优。
8. String str="i"与String str=new String("i")一样吗?
不一样。前者创建了一个String池中的字符串,后者创建了新的String对象。
9. 如何将字符串反转?
可以使用StringBuilder或StringBuffer的reverse()方法。
10. String类的常用方法都有哪些?
常见的方法包括length()、charAt()、substring()、indexOf()、trim()、concat()、compareTo()等。
11. 抽象类必须要有抽象方法吗?
不一定,抽象类可以不包含抽象方法,但至少有一个抽象方法的类必须声明为抽象类。
12. 普通类和抽象类有哪些区别?
抽象类不能实例化,只能被继承;普通类可以直接实例化,也可以被继承。
13. 抽象类能使用final修饰吗?
不可以,因为final类不能被继承,而抽象类需要被继承。
14. 接口和抽象类有什么区别?
接口只能包含抽象方法和常量,不能有非静态成员变量和构造方法;抽象类可以有成员变量、构造方法和非抽象方法。接口间的多继承是允许的,但Java类只能单继承一个抽象类。
15. Java中IO流分为几种?
分为字节流和字符流,每种又分为输入流和输出流,总共四种:InputStream/OutputStream(字节流)、Reader/Writer(字符流)。
16. BIO、NIO、AIO有什么区别?
BIO(Blocking IO)是同步阻塞的,适用于小规模并发;NIO(Non-blocking IO)是非阻塞的,适用于大规模并发;AIO(Asynchronous IO)是异步非阻塞的,进一步降低了I/O操作对应用的影响。
17. Files的常用方法都有哪些?
包括createFile()、delete()、exists()、readLink()、copy()、move()等,用于文件和目录的操作。
以上只是部分Java面试题和知识点的解析,完整的资料还涵盖了更多关于容器、多线程等方面的问题,对于准备Java面试或提升技能都非常有帮助。
1198 浏览量
809 浏览量
658 浏览量
2021-10-10 上传
2022-07-14 上传
120 浏览量
236 浏览量
2022-07-14 上传
2023-10-27 上传
Kales_
- 粉丝: 2
- 资源: 4
最新资源
- zakaz
- matlab实现DCT变换和量化
- snueue:Reddit 媒体播放器
- Digital-electronics-1-2021
- pids-mobile
- madplay.rar
- 使用 MATLAB 进行 3D 有限元分析:这些是“使用 MATLAB 进行 3D 有限元分析”网络研讨会中使用的 MATLAB 示例-matlab开发
- LOGA 5X 多语言多平台建站系统 v5.3.0 utf-8
- band-together
- 广州大学操作系统课程设计:优先级调度.zip
- zave7.github.io:主
- Python
- Yzncms内容管理系统 v1.0.0
- -deprecated-cmsimple:[已弃用] 使用机车 cms 或类似的 http
- 串口数据保存至TXT文件.rar
- threejs-camera-dolly:用于Threejs的相机多莉助手