欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面试必备:《Java 最常见 200+ 面试题全解析》Java 基础部分

程序员文章站 2022-07-03 09:19:06
Java 基础部分目录1. JDK和JRE的区别2. == 和 equals 的区别是什么?3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4. final 在 java 中有什么作用?5. java 中的 Math.round(-1.5) 等于多少?6. String 属于基础的数据类型吗?7. java 中操作字符串都有哪些类?它们之间有什么区别?8. String str="i"与 String str=new String(“i”)一样吗?9. 如何将字符串...

1. JDK和JRE的区别

链接地址

2. == 和 equals 的区别是什么?

链接地址

3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

链接地址

4. final 在 java 中有什么作用?

链接地址

5. java 中的 Math.round(-1.5) 等于多少?

运行结果: -1

JDK 中的 java.lang.Math 类
round() :返回四舍五入,负 .5 小数返回较大整数,如 -1.5 返回 -1。
ceil() :返回小数所在两整数间的较大值,如 -1.5 返回 -1。
tail() :返回小数所在两整数间的较小值,如 -1.5 返回 -2。

6. String 属于基础的数据类型吗?

Java基本数据类型

不属于。
Java8种基础的数据类型:byte、short、char、int、long、float、double、boolean。

7. java 中操作字符串都有哪些类?它们之间有什么区别?

链接地址

8. String str="i"与 String str=new String(“i”)一样吗?

不一样。
因为内存的分配方式不一样。String str="i"的方式,Java 虚拟机会将其分配到常量池中;而 String str=new String(“i”)方式,则会被分到堆内存中。
堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。
常量池指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。

9. 如何将字符串反转?

链接地址

10. String 类的常用方法都有那些?

链接地址

11. 抽象类必须要有抽象方法吗?

不需要,
抽象类不一定有抽象方法;但是包含一个抽象方法的类一定是抽象类。(有抽象方法就是抽象类,是抽象类可以没有抽象方法)

12. 普通类和抽象类有哪些区别?

1.抽象类不能被实例化
2.抽象类可以有抽象方法,抽象方法只需声明,无需实现
3.含有抽象方法的类必须声明为抽象类
4.如果没有实现抽象基类中所有的抽象方法,则子类成为一个抽象子类;如果实现抽象类中所有抽象方法,他就是非抽象子类;
5.抽象方法不能被声明为静态static
6.抽象方法不能用private修饰
7.抽象方法不能用final修饰

13. 抽象类能使用 final 修饰吗?

不能,抽象类是被用于继承的,而用final修饰的类,无法被继承。

14. 接口和抽象类有什么区别?

1.抽象类要被子类继承,接口要被类实现。
2.接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。
3.接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
4.接口是设计的结果,抽象类是重构的结果。
5.抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。
6.抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。
7.抽象类主要用来抽象类别,接口主要用来抽象功能。
主要:
抽象类的作用:
降低接口实现类对接口实现过程的难度
将接口中不需要使用的抽象方法教给抽象类进行完成
这样接口实现类只需要对接口需要的方法进行重写

15. java 中 IO 流分为几种?

可以分4种。
字节输入流(InputStream)
字节输出流(OutputStream)
字符输入流(Reader)
字符输出流(Writer)

16. BIO、NIO、AIO 有什么区别?

Java共支持3种网络编程模型/IO模式:BIO、NIO、AIO。
Java BIO :同步并阻塞(传统阻塞型)服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销。
Java NIO :同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求就进行处理 。
Java AIO(NIO.2) :异步非阻塞,AIO 引入异步通道的概念,采用了 Reactor 模式,简化了程序编写,有效的请求才启动线程,它的特点是先由操作系统完成后才通知服务端程序启动线程去处理,一般适用于连接数较多且连接时间较长的应用。

17. Files的常用方法都有哪些?

Files. exists():检测文件路径是否存在。
Files. createFile():创建文件。
Files.createDirectory():创建文件夹。
Files. delete():删除一个文件或目录。
Files.copy():复制文件。
Files. move():移动文件。
Files. size():查看文件个数。
Files.read():读取文件。
Files. write():写入文件。

本文地址:https://blog.csdn.net/sinat_41920065/article/details/107439856

相关标签: Java面试题