transient关键字

transient是短暂的意思。

对于transient 修饰的成员变量,在类的实例对象的序列化处理过程中会被忽略。 因此,transient变量不会贯穿对象的序列化和反序列化,生命周期仅存于调用者的内存中而不会写到磁盘里进行持久化。

序列化
序列化使用ObjectOutputStream.writeObject(e)方法。
transient关键字

反序列化使用ObjectInputStram.readObject()方法
transient关键字

static修饰的变量同样不会序列化!

  • ArrayList中的transient:
    transient关键字

    为什么ArrayList还能序列化呢?
    很简单,重写riteObject()和readObject()方法就好了

  • 又有一个问题,既然想序列化,ArrayList为什么又要使用transient呢?

因为容量的问题,elementData里面有一些元素是空的,这种是没有必要序列化的。

transient关键字

上一篇:Dockerfile搭建lnmp环境


下一篇:使用Django离线脚本报错