有趣的问题:既然Serializable是标志接口,他是怎么实现序列化的?

03-11-09 darrenlee
有趣的问题:既然Serializable是标志接口,里面什么声明都没有,难道是java编译器来实现的,把Serializable作为一个标志?他是怎么实现序列化的?高手们请回答。

adiange
2003-11-10 21:05
应该是jvm

呵呵

adiange
2003-11-10 21:05
应该是jvm

呵呵

无道
2003-11-11 08:24
Serializable接口为什么没有方法?很简单,因为java的反射机制足够强大,它可以从一个对象中获得足够的信息来串化这个对象,并在反串化时恢复对象的状态!实现Serializable接口的对象在串化时将对象的所有的域以java规范指定的格式写入流中并在反串化时恢复这些域值。为了更加灵活地控制这个过程,java提供了transient这个关键字来声明那些不需要被串化处理的域。我们甚至可以定义自己的串化格式(使用Externalizable接口),比如存取特定结构的二进制流

猜你喜欢