为什么AbstractLinkedList中的属性是瞬态的?

时间:2014-01-25 18:27:06

标签: java collections apache-commons

我正在阅读Apache Commons源代码,以成为更好的程序员。我注意到AbstractLinkedList

transient Node<E> header;

/** The size of the list */
transient int size;

/** Modification count for iterators */
transient int modCount;

我们不需要对它们进行序列化/反序列化吗?

1 个答案:

答案 0 :(得分:1)

如果您的类实现了Serializable接口,则默认情况下,序列化对象时,所有非瞬态属性都会写为自定义二进制流。 但是,如果您希望更好地控制“序列化数据”的写入方式,通常会将“依赖于实现”属性标记为trasient并实现您自己的自定义readObject /该特定类的writeObject方法。

为了证明这一点,您会发现分别由被覆盖的doReadObjectdoWriteObject方法调用的same class has methods like readObjectwriteObject。< / p>