什么是Serializable? 这是什么意思?
可能重复:
Hibernate表类需要是Serializable吗?
Serializable是什么意思?
public class ExampleEntity implements Serializable { @Id private long id; private int fieldInt; private long fieldLong; private String fieldString; }
我正在寻找JPA教程。 我能够理解基本概念,但在他们添加的所有教程中,这可序列化。 这样做的目的是什么? 这对我有什么帮助? 有什么建议吗?
这意味着该类可以序列化。 这意味着它可以转换为0和1的流并发送到其他服务,如Web服务或ORM(hibernate)或其他任何服务。 然后这个服务知道如何存储流。
此外,您的程序可以接收序列化类,并从0和1的流创建它的实例。
这是“保存”类实例并在任何其他时刻“恢复”它们的方法。
更多信息在
- http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html
- http://en.wikipedia.org/wiki/Serialization
为了能够使类可序列化,您必须实现“Serializable”接口。
-
为什么这样 ? 因为当序列化类的时刻到来时,将调用函数
writeObtject
将对象转换为字节。 另一方面,当你有字节并且想要获取类的实例时,将调用函数readObject
。 -
为什么不自动? 一个变量值,它已经用字节表示。 因为例如当一个类包含其他类的实例时会出现问题。 你是做什么? 你也序列化其他类? 你只保留参考地址? 它非常复杂,可能取决于您的项目和设计类型。
一些链接:
- 发现Java Serialization API的秘密
- 可序列化 (javadoc)
可序列化类可以序列化 – 转换为字节,用于存储在硬盘驱动器上或通过网络传输。
请参见序列化