我序列化了用户定义的链表类的对象,因为该列表的每个节点都在堆中获取一个内存位置,例如,如果该内存位置已被特定节点占用,则进行反序列化
如果节点 2 的内存(即 200)已经被占用,那么节点 1 如何知道它以及列表如何反序列化? 或者在 Java 中,内存分配以某种不同的方式发生。
最佳答案
JVM负责内存中对象的管理。执行任何GC
后,内存中分配的对象都可以移动,因此LinkedList
实际上并不指向固定地址,而是指向引用
Java没有pointers ,仅对对象的引用(安全引用)。引用类似于指针,因为它指向变量、对象,但您无法查看或编辑此引用的地址内存(与 C 语言不同)。
关于java - java中linkedList的序列化和反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116545/