关键词“瞬态”在Java中意味着什么? [重复]

问题描述 投票:174回答:3

这个问题在这里已有答案:

我在某处看到了


transient private TrackDAO trackDAO;

java transient
3个回答
253
投票

谷歌是你的朋友 - first hit - 你也可以先看看serialization是什么。

它标记了一个成员变量,当它被持久化为字节流时不被序列化。当通过网络传输对象时,该对象需要“序列化”。序列化将对象状态转换为串行字节。这些字节通过网络发送,并从这些字节重新创建对象。由java transient关键字标记的成员变量不会被转移,它们会被故意丢失。

从那里的例子,稍加修改(感谢@pgras):

public class Foo implements Serializable
 {
   private String saveMe;
   private transient String dontSaveMe;
   private transient String password;
   //...
 }

30
投票

Java中的瞬态变量从不被序列化。


10
投票

这意味着trackDAO不应该被序列化。

© www.soinside.com 2019 - 2024. All rights reserved.