當我們對一個對象進行反序列化時,它很難理解,它是如何在某種特定狀態下回顧對象的?它是否包含對象的任何元數據?會序列化對象包含元數據嗎?
0
A
回答
4
當一個對象被序列化時,對象的類會與對象的非瞬態字段的內容一起被寫入到流中。反序列化器將嘗試加載該類(並且有幾種機制可以這樣做),然後填充非瞬態字段。
的協議規範是在這裏:http://java.sun.com/javase/6/docs/platform/serialization/spec/protocol.html
如果「元數據」你指的是在類註釋,那麼不,他們沒有與對象本身序列化,但可以在類。如果你的意思是別的,請描述你的意思。
0
在高層次上,序列化流包含對象中的數據和相關類的名稱,以及確保類不會更改的版本號。它使用這些信息來創建對象的新實例,並使用與舊實例相同的數據填充它。它避免了創建對象時的所有常見約束(例如需要調用構造函數)。
人們有一個令人困惑的地方是他們可以認爲類定義本身是序列化的。它不是,只是它包含的數據和足夠的信息來知道當被激活時要重建哪些對象。當對象被反序列化時,它必須與類路徑上的現有類匹配,序列化二進制數據不包含該類。
相關問題
- 1. 序列化包含祕密數據的類對象 - 使用加密序列化
- 2. C++序列化包含其他對象數組的對象
- 3. XML包含對象列表的對象的序列化列表
- 4. OmniXML可以反序列化一個包含對象列表的對象嗎?
- 5. 序列化爲XML幷包含序列化對象的類型
- 6. 如何序列化包含對象列表的對象?
- 7. 反序列化包含另一個對象的JSON對象
- 8. 序列化包含其他ISerializable對象的ISerializable對象
- 9. 序列化包含對象的對象java
- 10. 包含StateServer的linq2sql對象的序列化對象
- 11. 對象及其包含對象的序列化
- 12. 序列化包含數組
- 13. 序列化會話對象
- 14. 反序列化包含單個或數組對象的JSON
- 15. 序列化包含該函數的對象 - 意義
- 16. 將包含數組的Javascript對象序列化爲json?
- 17. 數據傳輸對象類可以包含其他對象嗎?
- 18. C#序列化包含更多列表的對象列表
- 19. MySql - 只選擇包含序列化數據的單元格
- 20. 如何序列化包含對象引用的java對象而不序列化引用的對象?
- 21. 反序列化包含對象列表的Json
- 22. 反序列化包含int列表的對象
- 23. 反序列化包含使用Gson的對象列表的JSON
- 24. 反序列化包含XmlSerializer對象列表的類(c#)
- 25. 包含嵌套對象的序列化程序
- 26. 從包含多個對象的序列化文件讀取數據
- 27. 如何訪問javascript中的序列化對象中包含的數據
- 28. Java的可序列化對象包含不可序列化的字段
- 29. 如何序列化包含不可序列化對象的最終字段
- 30. 反序列化JSON對象到C#對象,其中包含列表
如何「同步」與此有關? – BalusC 2009-11-17 13:30:47
對不起,錯誤地鍵入,它的可序列化,現在將編輯..謝謝 – i2ijeya 2009-11-17 13:31:24
序列化規範在這裏(http://java.sun.com/javase/6/docs/platform/serialization/spec/serialTOC.html) – skaffman 2009-11-17 13:36:09