CopyOnWriteArrayList标记为可序列化。但是它的内部状态是瞬态的。任何人都可以回答我们要在这种类型的列表中序列化的内容。

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

最佳答案

writeObject方法已被重写以特定方式存储状态。因此,实际存储(即array是瞬态的)不会影响CopyOnWRiteArrayList对象的序列化。

JVM将在默认序列化过程中保留对象中的临时成员。但是,如果覆盖writeObject(),则该方法定义将用于序列化对象,而不是默认的序列化策略。

关于java - CopyOnWriteArrayList内部状态是 transient 的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13898647/

10-10 09:42