2020Java面试题之基础题

1. JDK 和 JRE 有什么区别?

此处一个开发环境用,一个只能运行环境用

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

比较值和比较引用。

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

不对,equals就是比较哈希值。

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

final修饰类时不可被继承;修饰方法时不可被重写;修饰变量时变常量,不可被修改。

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

操作字符串的类有:String、StringBuffer、StringBuilder。

StringBuffer 和 StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,所以在单线程环境下推荐使用 StringBuilder,多线程环境下推荐使用 StringBuffer。

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

不一样,第二个分配了两个string常量内存。

9. 如何将字符串反转?

使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。

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

不需要,抽象类不一定非要有抽象方法。

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

参考final的释义。

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

由以下几个方面来回答:

1⃣️实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。

2⃣️构造函数:抽象类可以有构造函数;接口不能有。

3⃣️main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方法。

4⃣️实现数量:类可以实现很多个接口;但是只能继承一个抽象类。

5⃣️访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符。

13. java 中 IO 流分为几种?

总的分为input流和output流。

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

  • BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
  • NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。
  • AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值