Java中的关键字“transient”是什么意思?

我看到了某个地方

transient private TrackDAO trackDAO; 

谷歌是你的朋友 – 首先打 – 你也许首先看看序列化是什么。

它标记一个成员variables,当它被持久化为字节stream时,不会被序列化。 当一个对象通过networking传输时,对象需要被“序列化”。 序列化将对象状态转换为串行字节。 这些字节通过networking发送,并从这些字节重新创build对象。 由java瞬态关键字标记的成员variables不会被传输,故意丢失。

从那里例子稍作修改(谢谢@pgras):

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

瞬态variables永远不会在java中序列化

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