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/