Java Transient

序列化

我们的Java对象并不只是存在内存中,优势还需要在网络中传输,或保存到硬盘中再下次需要时再加载出来,所有我们需要使用到Java序列化技术。

Java 序列化正是讲对象变成一串由二进制字符组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模版上来反序列化类的对象,以达到对象持久化的目的。

Java 对象序列化方式

在Java中有两种序列化的方式,Serializable 和 Externalizable,可能大部分人值知道Serializable而不知道Externalizable.

这两种序列化方式的区别是:实现了Serializable接口是自动序列化的,实现Externalizable则需要手动序列化,通过 writeExternal 和readExternal 方式手动进行。

transient 关键字总结

  1. transient修饰的变量不能被序列化。
  2. transient只作用域实现Serializable接口
  3. transient只能用来修饰普通成员变量字段
  4. 不管有没有transient修饰,静态变量都不能序列化