java close方法_Java教程分享Java常见面试题

f952387b7689c098fe48a1e18a3bc914.png

Java教程为大家就分享一些常见的Java面试题,大家一起来看一下吧。

1、字节流与字符流的区别

  答:

  字节流和字符流使用是非常相似的,字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的。

  字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,

  但是如果字符流不使用close方法的话,则不会输出任何内容,说明字符流用的是缓冲区,并且可以使用flush方法强制进行刷新缓冲区,这时才能在不close的情况下输出内容。

2、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。

  答:

  序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。

  可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。

  序列化是为了解决在对对象流进行读写操作时所引发的问题。

  序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implementsSerializable只是为了标注该对象是可被序列化的,

  然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Objectobj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

  实现java.io.Serializable接口的类是可序列化的。没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值