首页 > 其他 > 详细

transient关键字

时间:2021-08-25 23:26:38      阅读:13      评论:0      收藏:0      [点我收藏+]

transient是短暂的意思。

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

序列化
序列化使用ObjectOutputStream.writeObject(e)方法。
技术分享图片

反序列化使用ObjectInputStram.readObject()方法
技术分享图片

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

  • ArrayList中的transient:
    技术分享图片

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

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

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

transient关键字

原文:https://www.cnblogs.com/Deng-23-binb/p/15186486.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!