问题
This question already has an answer here:
- Why does Java have transient fields? 13 answers
I saw somewhere
transient private TrackDAO trackDAO;
回答1:
Google is your friend - first hit - also you might first have a look at what serialization is.
It marks a member variable not to be serialized when it is persisted to streams of bytes. When an object is transferred through the network, the object needs to be 'serialized'. Serialization converts the object state to serial bytes. Those bytes are sent over the network and the object is recreated from those bytes. Member variables marked by the java transient keyword are not transferred, they are lost intentionally.
Example from there, slightly modified (thanks @pgras):
public class Foo implements Serializable
{
private String saveMe;
private transient String dontSaveMe;
private transient String password;
//...
}
回答2:
Transient variables in Java are never serialized.
回答3:
It means that trackDAO
should not be serialized.
来源:https://stackoverflow.com/questions/5245600/what-does-the-keyword-transient-mean-in-java