我们应该什么时候实现Serializable接口?
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; } }
- 什么时候应该实现
Serializable
接口? - 我们为什么这样做?
- 它是否有任何优势或安全性?
-
从什么是这个“序列化”的东西呢? :
它可以让你拿一个对象或一组对象,把它们放在一个磁盘上,或通过有线或无线传输机制发送,然后,也许在另一台计算机上,反转这个过程:重新生成原始对象。 基本的机制是将对象平铺成一维的位stream,并将这些位stream转换回原来的对象。
就像“星际迷航”上的运输者一样,把所有东西都变成一个复杂的东西,把它变成一个1和0的平坦序列,然后把1和0的序列(可能在另一个地方,可能在另一个地方),重build原来复杂的“东西“。
因此,当需要存储对象的副本时,实现
Serializable
接口,将其发送到同一系统或networking上的另一个进程。 -
因为你想存储或发送一个对象。
-
它使存储和发送对象容易。 它与安全无关。
-
如果希望能够将类的实例转换为一系列字节,或者当您认为
Serializable
对象可能引用您的类的实例时,请实现Serializable
接口。 -
如果要保存它们的实例或通过电线发送它们,则可
Serializable
类很有用。 -
Serializable
类的实例可以很容易地传输。 然而,序列化确实有一些安全性的后果。 阅读Joshua Bloch的“Effective Java”。