Java面试题基础 第一部分

这篇博客主要介绍了Java面试中常见的基础问题,包括==和equals的区别,对象的hashCode和equals关系,基本数据类型,String、StringBuffer和StringBuilder的对比,以及Object、File类的方法,抽象类与接口的区别,Java IO流的分类,以及BIO、NIO和AIO的区别。
摘要由CSDN通过智能技术生成

Java面试题基础 第一部分

1、==和equals的区别?

在比较基本数据类型时,==比较的是数据的值

在比较引用数据类型时,==比较的是引用地址是否相同,equals比较的具体的值是否相同。

2、两个对象的hashcode()相同,那么equals一定相同吗?

两个对象的hashcode()相同,但是equals()不一定相同。

String str1 = new String("通话");
String str2 = new String("重地");
System.out.println("str1的 "+str1.hashCode());
System.out.println("str2的 "+str2.hashCode());
System.out.println(str1.equals(str2));


//结果:
str1的 1179395
str2的 1179395
false

//我们需要知道的是,当两个对象的hashcode相等的时候,equals不一定相等
//但是如果equals相等的话,那么两个对象的hashdoe一定相等

3、java中的基本数据类型有哪些?String属于基本数据类型吗?

基本数据类型:byte,short,int,long,char,double,float,boolean

String属于引用数据类型,其不可以被重写。

4、java中string,stringbuffer,stringbuilder的区别和联系?

我们需要明确的是,这三者都是属于操作字符串的类。

String 不可变对象

Stringbuffer 可变 线程安全 性能低 推荐在多线程下使用

Stringbuilder 可变 线程不安全 性能高 推荐在单线程下使用

5、String类常用的方法?

indexOf();
charAt();  
replace(); 
trim(); 
getBytes();//返回字符串的字符数组。
length(); 
substring(); 
equals();

6、Object类常用的方法?

clone();
getClass();
toString();
finalize();
equals();
hashCode();//返回对象的哈希码值,返回为16进制
wait();
notify();
notifyAll();

7、file类常用的方法?

isDirectory();
isFile();
getPath();
getName();
mkdir();
mkdirs();
exists();
delete();
list();

8、抽象类和接口的区别?

抽象类:

  • 一个抽象类不能被实例化。

  • 抽象类可以有自己的构造方法。

  • 一个类只能继承一个类却可以实现多个接口。

  • 抽象类中的方法自己可以实现,但是只要还有未被实现的方法,那么它就必须定义为一个抽象类。

  • 抽象类中的方法不能用private修饰,可以使用protected和public修饰,default也可以。

接口:

  • 我们把接口看作是java中的一个抽象的集合。

  • 接口也不能被实例化。

  • 接口不能有自己的构造方法。

  • 一个类可以实现多个接口,一个接口也可以实现多个接口。

  • 接口中的所有方法必须都是没有实现的,也就是抽象的。

  • 接口中的方法只能是被public修饰的。

  • 接口中的所有变量默认为public static final类型,所有方法默认为public abstract类型。

9、java中io流的分类?

  • 按流向来分:输入流和输出流

  • 按类型来分:字节流和字符流

    字节流按8位字节传输,而字符流为16位字节传输。

    任何文件都可以使用字节流进行传输,非纯文本文件不能用字符流, 不然会导致文件格式的破坏。

  • 按处理方法分:节点流和处理流。

在这里插入图片描述

10、BIO、NIO、AIO的一般区别?

想要看到更加详细的东西可以看这一篇博客

  • BIO:同步阻塞的IO,就是我们平常使用的传统IO,它的特点是简单使用方便,但是处理并发能力比较低。
  • NIO:同步非阻塞IO,是传统IO的升级,客户端和服务器端通过Channel实现通讯,实现了多路服用的功能。
  • AIO:异步非阻塞,基于事件和回调机制。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

erwang1123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值