Java面试

1.Collection和Collections区别

Collection(接口):是集合类的上层接口,继承与他的接口有set,list

Collections(接口类):是一个集合框架的帮助类,提供一系列的静态方法实现对各种集合的搜索,排序等操作

2.Error与Exception的区别

Error(错误):是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。例如:内存空间不足,系统崩溃

Exception(异常):表示程序可以处理的异常,可以捕获且可能恢复。

异常分为:

checkedException(编译异常):编写程序过程中try——catch捕获到的一场都是CheckedException。io包中的IOExecption及其子类,都是CheckedException。

RunTimeException(运行时异常):如indexOutOfBoundsException(索引超出范围异常),NullpointerException:空指针异常

3.同步与异步有何异同?在什么情况下使用他们?

同步:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;

异步:指发送一个请求,不需要等待返回,随时能够发送下一个请求,不需要等待;

相同点:都属于交互方式,都是发送请求

不同点:同步有一个等待的过程,异步没有

同步相当于打电话,异步相当于广播

4.多线程面试题之启动一个线程是run()还是start()?他们有什么区别?

启动一个线程是start() 方法,是线程所代表的虚拟机处理处于可运行状态,由JVM自动调用run()方法,run()方法可以产生 必须退出的标志来停止一个线程 ,run()方法封装了被线程执行的代码,直接调用仅仅是普通方法的调用      

5.重写与重载的区别:

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。

重写(Override):发生于父类与子类之间,子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,

重载(Overload):发生在一个类中,要求同名方法的参数列表不同,返回值类型可以相同也可以不相同。

6.int和Integer有什么区别

int是基本数据类型,integer是引用数据类型,是int的包装类,

integer必需实例化后才能使用,int不用

integer默认值是null,int默认值为0

7.char 型变量中能不能存贮一个中文汉字?为什么?

char 类型可以存储一个中文汉字,因为 Java 中使用的编码是 Unicode, 一个 char 类型占 2 个字节(16bit),所以放一个中文是没问题的。

8.什么是java序列化,如何实现java序列化,Serializable接口的作用

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

必须实现Serializable接口,但是不同实现该接口的方法,此接口只是为了标注对象可以被序列化,然后使用输出流(如FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,使用该对象流对象的write()方法将参数obj的对象写出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值