为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Java有临时字段?

为什么Java有临时字段?

智慧大石 2019-06-24 13:39:46
为什么Java有临时字段?为什么Java有瞬变田里?
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

我的小小贡献:

什么是瞬变场?
基本上,使用transient关键字是一个临时字段。

为什么Java中需要瞬态字段?
这个transient关键字为您提供了对序列化过程的某种控制,并允许您从此进程中排除某些对象属性。序列化过程用于持久化Java对象,主要是为了在传输或不活动时保留它们的状态。有时,不序列化对象的某些属性是有意义的。

您应该标记哪些字段为瞬态字段?
现在我们知道了transient关键字和瞬态字段,重要的是要知道哪些字段要标记瞬态。静态字段也不会被序列化,因此相应的关键字也能做到这一点。但这可能会破坏您的类设计;这是transient关键字来拯救。我尽量不允许序列化其值可以从其他字段派生的字段,因此我将其标记为瞬态字段。如果您有一个名为interest其值可以从其他字段(principalrate & time),没有必要对其进行序列化。

另一个很好的例子是文章字数。如果要保存整篇文章,就不需要保存单词Count,因为它可以在文章“反序列化”时计算出来。或者想想伐木工人;Logger实例几乎不需要序列化,因此它们可以是短暂的。


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 616 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信