the*_*ava 143 java serialization
public class Contact implements Serializable {
private String name;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Run Code Online (Sandbox Code Playgroud)
Serializable
什么时候应该实现界面? mar*_*cog 148
它允许您获取一个对象或一组对象,将它们放在磁盘上或通过有线或无线传输机制发送它们,然后,可能在另一台计算机上,反转该过程:恢复原始对象.基本机制是将对象展平为一维比特流,并将该比特流转换回原始对象.
就像"星际迷航"中的转运者一样,它只是将一些复杂的东西变成一个1和0的平坦序列,然后取1和0的序列(可能在另一个地方,可能在另一个时间)并重建原始复杂的"东西".
因此,Serializable
当您需要存储对象的副本时,实现接口,将它们发送到在同一系统或网络上运行的另一个进程.
因为您要存储或发送对象.
它使存储和发送对象变得容易.它与安全无关.
Ste*_*son 44
Serializable
如果希望能够将类的实例转换为一系列字节,或者当您认为某个Serializable
对象可能引用您的类的实例时,请实现该接口.
Serializable
当您想要保留它们的实例或通过网络发送它们时,类很有用.
Serializable
可以轻松传输类的实例.但是,序列化确实会带来一些安全后果.阅读Joshua Bloch的"Effective Java".
Rae*_*ald 20
这个问题的答案可能是令人惊讶的, 只有当您被迫与遗留代码进行互操作时,才会永远或更现实.这是Joshua Bloch 在Effective Java,3rd Edition中的建议:
在您编写的任何新系统中都没有理由使用Java序列化
甲骨文的首席架构师Mark Reinhold表示,删除当前的Java序列化机制是一项长期目标.
Java通过使用Serializable
接口提供了您可以选择的序列化方案作为语言的一部分.然而,这种方案有几个棘手的缺陷,应该被Java语言设计者视为失败的实验.
相反,使用可以显式控制的序列化方案.例如Protocol Buffers,JSON,XML或您自己的自定义方案.
归档时间: |
|
查看次数: |
121747 次 |
最近记录: |