【发布时间】:2018-03-04 12:35:07
【问题描述】:
我知道 Java 中的对象存在于堆上,但是当我开始序列化对象并在反序列化之后它的状态保持在堆上?还是在不同的地方?
编辑: 我的意思是,JVM 如何在堆上重新创建一个新对象?只是读取文件?
我想知道堆上发生了什么,在 JVM 销毁一个对象之前和之后,在它回来之后?要执行此操作,是否在内存中存储了一些内容或所有信息都在文件上序列化和反序列化?
【问题讨论】:
-
你说的status是什么意思?
-
@SotiriosDelimanolis:我的意思是在序列化之前和恢复它时关于类的所有内容。
-
'关于类的一切'不会因序列化或反序列化而改变,而是存储在类中。不清楚你在问什么。
-
@EJP:我谈到了对象所在的堆!例如,如果序列化或反序列化出错会发生什么? JVM从零创建另一个对象?或者如果我们之前保存了一些关于类的东西,怎么能恢复一切呢?这样我的意思是状态
标签: java serialization deserialization heap-memory