Serializable 的作用?

hk_c 2002-11-30 08:14:02
Serializable 在实际应用用处?
...全文
596 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
RamboAndGates 2002-12-02
  • 打赏
  • 举报
回复
大家说的都很对,它(serializable)主要支持对象的回复,所以可以用来保存当前的程序系统状态,远程方法调用RMI(远程机器必须含有必要的.class文件,否则将掷出classNotFound Exception),但是因为它将对象数据自动全部保存,你根本无法插手,因此对于一些敏感字段(如:password)存在安全问题。但相应有很多解决的方法,例如可以在敏感字段的声明中使用transient关键字,或者去继承externalizable接口,自己来实现readExternal()和writerExternal()方法,再或者继承serializable接口,但提供private void writeObject(ObjectOutputStream s)等方法... ...但注意static 成员的保存仍需要你的介入。
jeffyan77 2002-12-02
  • 打赏
  • 举报
回复
如果您问的是这个接口java.io.Serializable的用处,而不是串行化本身的用处的话,请继续读:

java.io.Serializable是一个空接口,也就是说这个接口没有声明任何的方法,所以实现这个接口的类也就不需要实现任何的方法。

那么这个接口还有什么用处呢?

这个接口使得所有的实现它的类具有一个特殊的(mixin)类型,从而使JVM知道这个类可以安全地串行化。

这种没有声明任何方法的接口,叫做标示接口(marker interface)。标示接口是一种设计模式,感兴趣的读者可以参见我的书《Java与模式》



阎宏博士,写于纽约
《Java与模式》作者
电子信箱:javapatterns@yahoo.com
个人网站http://www.WebEndsHere.com
或者http://218.6.168.109/jeffyan77/(中国临时使用))
或者http://webendshere.nstemp.com(美国临时使用)

个人作品集http://www.yesky.com/20011108/203866.shtml

买书请到:
http://www.china-pub.com/computers/common/info.asp?id=8182
http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=BB07630282
http://www.cnforyou.com/query/bookdetail.asp?viBookCode=7638
qxjavajava 2002-12-01
  • 打赏
  • 举报
回复
序列化 用在 对象编码成字节流及从字节流编码重构对象。
序列化 为远程通信提供了标准的wire-level协议。
要使类的实例实现序列化,只要在它的声明中加入implements

java.io.Serializable
但是却由一些隐患
1 实现了序列化后,一旦发布,讲削弱改变类实现的灵活性。
2 增加了bug和安全漏洞的的可能性
3 当你的新版本发布时增加了相关的测试上的问题。

类应尽可能少的实现Serializable,接口也应该少去扩展它。
study_body 2002-12-01
  • 打赏
  • 举报
回复
序列化,,可以将一个对象以字节的形式存储在磁盘中或者在网络上传输,当从磁盘或网络中得到数据时可以恢复成原来的对象。
huli007 2002-12-01
  • 打赏
  • 举报
回复
它只是一个标志!!
,表示实现其接口的类的实例可以序列化.
killjoy 2002-12-01
  • 打赏
  • 举报
回复
在分布式计算中的应用很大,尤其是RPC(在JAVA中多是RMI)
flash007 2002-12-01
  • 打赏
  • 举报
回复
串行化后在网络传输,就像你读/写一个文件流一样。
redkey 2002-12-01
  • 打赏
  • 举报
回复
对象序列化接口,远程传输对象,或以文件行式进行保存。
Luke_cn 2002-12-01
  • 打赏
  • 举报
回复
网络传输数据,文件存盘读取时会用到的

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧