Java编程笔试面试题及答案详解:字节流与字符流区别及序列化机制
Java笔试题及答案全集(经验总结)Java编程笔试面试简答:

1.字节流和字流的区别。
回答:
字节流和字符流的用法非常相似。字节流本身在运行时不使用缓冲区(内存),而是直接与文件本身进行操作,而字符流在运行时使用它。
操作文件时,即使资源没有关闭(close方法),字节流也能输出文件。
但如果字符流不使用close方法,那么就不会输出任何内容,这说明字符流使用了缓冲区,当使用flush方法强制将内容刷新到缓冲区时,就可以在不关闭的情况下输出内容。
2.什么是java序列化? java中的序列化?或者解释一下Serialized接口的作用。
回答:
序列化是一种处理对象流的机制。所谓对象流,就是流式传输对象的内容。
可以读取和写入对象,也可以在网络之间发送流式对象。
序列化用于解决对象流读写操作引起的问题。
序列化的实现:实现Serialized接口,需要序列化,而implementsSerialized只需要将对象标记为可序列化即可。
随后,构造ObjectOutputStream(对象流)对象(例如:FileOutputStream)。接下来,writeObject(Objectobj)方法可以使用Objectobj参数写入ObjectOutputStream对象(即保存其状态)。如果要恢复,请使用输入流。
为 java.io.Serialized 接口实现的可序列化类。如果未实现此接口,则该类无法序列化或反序列化其任何状态。