大家看一下下面这道java选择题,谢谢
下列关于对象串行化的说法中错误的是●[A]Java中,默认所有类的对象都可串行化○[B]在对象串行化时,不保存对象所属类的构造方法○[C]在实现Serializable接...
下列关于对象串行化的说法中错误的是
● [A] Java 中,默认所有类的对象都可串行化
○ [B] 在对象串行化时,不保存对象所属类的构造方法
○ [C] 在实现 Serializable 接口的类中,用 transient 关键字可使某些数据不被串行化
○ [D] ObjectInputSteam 和 ObjectOutSteam 类都支持对象的读和写
这是0804全国计算机二级java考试中的一道题,参考答案是D
为什么是D呢?我觉得是A吧,不是只有实现了Serialiazable接口的类才可以串行化吗?大家帮忙指点一下 展开
● [A] Java 中,默认所有类的对象都可串行化
○ [B] 在对象串行化时,不保存对象所属类的构造方法
○ [C] 在实现 Serializable 接口的类中,用 transient 关键字可使某些数据不被串行化
○ [D] ObjectInputSteam 和 ObjectOutSteam 类都支持对象的读和写
这是0804全国计算机二级java考试中的一道题,参考答案是D
为什么是D呢?我觉得是A吧,不是只有实现了Serialiazable接口的类才可以串行化吗?大家帮忙指点一下 展开
1个回答
展开全部
实现Serializable的类是可序列化的,你把序列化和可串行化搞混了。
所谓串行化最大的作用就是恢复一个对象。可以恢复的对象就是可以持久的,不可恢复的就是瞬时的。
一个对象是否是瞬时的从逻辑上就可以判断出来,Thread和FileInputStream都是依赖外部环境的,Thread依赖于cpu当时的状态,cpu的状态是不可逆转的,你的程序没法控制cpu在某个时间把时间片分给你,至于FileInputStream本身就是依赖于外部文件读入的,恢复的时候文件有没有还不好说呢,怎么给你恢复。
也就是说一般java虚拟机能给你存在硬盘里的都是持久的,java虚拟机没办法存硬盘里的都是瞬时的
所谓串行化最大的作用就是恢复一个对象。可以恢复的对象就是可以持久的,不可恢复的就是瞬时的。
一个对象是否是瞬时的从逻辑上就可以判断出来,Thread和FileInputStream都是依赖外部环境的,Thread依赖于cpu当时的状态,cpu的状态是不可逆转的,你的程序没法控制cpu在某个时间把时间片分给你,至于FileInputStream本身就是依赖于外部文件读入的,恢复的时候文件有没有还不好说呢,怎么给你恢复。
也就是说一般java虚拟机能给你存在硬盘里的都是持久的,java虚拟机没办法存硬盘里的都是瞬时的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询