CopyOnWriteArrayList内部状态是瞬态的

时间:2012-12-16 04:35:41

标签: java concurrency arraylist

CopyOnWriteArrayList标记为Serializable。但它的内部状态是短暂的。任何人都可以回答我们在这种类型的List中尝试序列化的内容。

/** The array, accessed only via getArray/setArray. */
private volatile transient Object[] array;

1 个答案:

答案 0 :(得分:4)

已覆盖writeObject方法以特定方式存储状态。因此实际存储(即array是暂时的)不会影响CopyOnWRiteArrayList对象的序列化。

JVM在默认序列化过程中将保留对象中的瞬态成员。但是,如果重写writeObject(),那么该方法定义将用于序列化对象而不是默认的序列化策略。