2 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
為什么我不能在理論上將這些字節(jié)寫入一些 txt 文件,以及一些額外的字節(jié)來(lái)指示類型。有了這個(gè),我不能只是讀回這些字節(jié)并恢復(fù)我的原始對(duì)象嗎?
怎么會(huì)有人把它們讀回來(lái)?假設(shè)我正在編寫應(yīng)該在您的文件中讀取的代碼。請(qǐng)告訴我第三個(gè)字節(jié)的含義,以便我可以正確解碼。
如果對(duì)象的內(nèi)部表示包含指向其他對(duì)象的指針,這些對(duì)象在程序下次運(yùn)行時(shí)可能位于不同的內(nèi)存位置怎么辦?例如,通過(guò)對(duì)相同的內(nèi)部字符串對(duì)象進(jìn)行內(nèi)部引用來(lái)管理相同的字符串是很常見(jiàn)的??紤]到內(nèi)部字符串對(duì)象在下次運(yùn)行中可能不存在,如何將對(duì)該文件的引用寫入合理?
要將數(shù)據(jù)寫入文件,您需要以某種特定格式將其寫出,該格式實(shí)際上包含您能夠讀回所需的所有信息。此時(shí)此程序在內(nèi)部工作的情況不會(huì)像這樣不能保證另一個(gè)程序在另一個(gè)時(shí)間可以理解它。

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
你建議提供的作品;
字段的順序和類型不會(huì)改變。請(qǐng)注意,這不是在編譯時(shí)設(shè)置的。
字節(jié)順序不會(huì)改變。
您沒(méi)有任何引用,例如沒(méi)有字符串、枚舉、列表或映射。
類型的名稱和包不會(huì)改變。
我們?cè)?Chronicle,使用一種支持這種形式的序列化,因?yàn)樗斓枚?,但它非常有限。你必須非常清楚這些限制,并有一個(gè)合適的問(wèn)題。我們還有一種序列化形式,它沒(méi)有這些限制,但速度較慢。
Java 序列化的目的是支持任意對(duì)象圖,即使數(shù)據(jù)在可能以不同方式排列數(shù)據(jù)的系統(tǒng)之間交換也是如此。
添加回答
舉報(bào)