Java面试题(白)输入和输出处理

1.java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以提供继承,请说出他们分别是哪些类?
答:
(1)字节流,字符流。
(2)字节流继承于InputStream,OutputStream。
(3)字符流继承于Reader Writer。

2.什么是java序列化,如何实现java序列化?
答:
(1)序列化而就是一种处理对象流的机制,所谓对象流也就是对象的内容进行流化。
(2)实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputSream对象,接着使用ObjectOutputSream对象的writeObject方法就可以将参数obj对象写出,要恢复的话则使用输入流。

3.使用处理流的优势有哪些?如何识别所使用的流是处理流还是节点流?
答:
优势:对开发人员来说,使用处理流进行输入/输出操作更简单。使用处理流的执行效率更高。
识别:处理流的构造器的参数不是一个物理节点,而是已经存在的流。而节点流都是直接以物理 IO 及节点作为构造器参数的。

4.什么是标准的IO流?
答:在java语言中用stdin表示键盘,用stdout表示监视器。它们被封装在System类的类变量 in 和 out 中,对应系统调用System,in 和 System,out。这样的两个流加上System.err统称为标准流。
System类中声明的3个类变量:
(1)public static InputStream in;
(2)public static PrinStream out;
(3)public static PriStram err;

5.什么能被序列化?什么不能被序列化?
答:
能被序列化:
(1)属性
(2)类型;
不能被序列化:
(1)static的属性;
(2)方法,
(3)加了transient修饰符的属性。

你可能感兴趣的:(Java面试题(白)输入和输出处理)