Java面试题之IO流

1、Java中饭有几种类型的流

按照流的方向:输入流(inputStream)和输出流(outputStream)

按照实现功能分:节点流和处理流

按照处理数据的单位:字节流和字符流,字节流继承于InputStream和OutputStream,字符流继承于InputStreamReader和OutputStreamWriter。

Java面试题之IO流_第1张图片

2、字节流如何转为字符流

字节输入流转字符输入流通过InputStreamReader实现,该类的构造函数可以传入InputStream对象

字节输出流转字符输出流通过OutputStreamWriter实现,该类的构造函数可以传入OutputStream对象

3、如何实现对象克隆

(1)实现Cloneable接口重写Object类中的clone()方法

(2)实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆

4、什么是Java序列化,如何实现Java序列化?

序列化就是一种用来处理对象流的机制,将对象的内容进行流化。可以对流化后的对象进行读写操作,可以将流化后的对象传输于网络之间。序列化是为了解决在对象流读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serialize接口,没有需要实现的方法,此接口只是为了标注对象可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,再使用ObjectOutputStream对象的write(Object obj)方法就可以将参数obj的对象写出。

你可能感兴趣的:(java,java,后端)