回答
序列化內置於java。對於大多數課程,您可以簡單地實施java.io.Serializable
,並且您的課程「神奇地」變爲可串行化。然後,您可以使用java.io.ObjectOutputStream
& java.io.ObjectInputStream
來讀取和寫入您的對象。
如果您需要自定義序列化,請將以下方法添加到您的類中以覆蓋序列化行爲。他們必須符合這些特徵恰好:
private void writeObject(ObjectOutputStream out) throws IOException {
//YOUR WRITE CODE HERE
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
// YOUR READ CODE HERE
}
要麼看看Java源代碼(是的,它自帶的JDK,但在一個叫做src.zip文件zippen),或看JBossSerialization,這是更快,並減少序列化對象的大小。我前段時間編寫了自己的程序,速度提高了6倍,生成的數據少了6倍,但它需要雙方都知道確切的類結構,因此它只能用作通信協議,而不能用於持久性存儲。
謝謝,我幾乎在尋找這樣的答案 – user639990 2011-03-01 19:46:23
快速序列化(github)具有相同級別的兼容性,同時比JBoss序列化快得多 – 2014-06-14 12:45:23
你在尋找什麼類似protobuf?正如其他評論者所說的那樣,我原本寫下你的問題時很難。
- 1. 如何在C#中實現序列化?
- 2. 如何在java中實現國際化
- 3. java的notserializableexception但實現序列化
- 4. 如何實現可序列化事務?
- 5. 如何實現QTextDocument序列化
- 6. 如何在Java中實現隊列?
- 7. 如何在java中實現隊列?
- 8. 如何在java中序列化/反序列化對象列表?
- 9. 如何在ANDROID中實現JAVA程序?
- 10. 在Python中使用python-javaobj實現java反序列化?
- 11. 在java中實現我自己的序列化
- 12. 如何在c#中實現對XML的分層序列化?
- 13. 如何在Objective-c中實現序列化?
- 14. 如何在C#中實現自定義XML序列化
- 15. 如何在.Net中實現動態部分XML類序列化?
- 16. 如何在Java中鎖定序列化?
- 17. 如何在java中序列化Jdbc4SQLXML類
- 18. Ember.js反序列化實現
- 19. 序列化與實現
- 20. 如何在Java中實現
- 21. 如何在Java中實現
- 22. 如何在Java中實現
- 23. 如何在Java中實現
- 24. 如何在java中實現編號序列
- 25. Knuth序列如何在Java中正確實現shellort?
- 26. 在java中實現隊列
- 27. 爲什麼Java中的HttpServlet實現可序列化?
- 28. 在實現Externalizable時重用Java(de)序列化
- 29. 如何序列化/反序列化Java中的引用?
- 30. 如何序列化Java中的不可序列化?
是「**最好的**串行化」還是「最好的**類串行化**」? – skaffman 2011-03-01 19:35:25
請問一個更具體的問題。鑑於您給我們的上下文,我們無法擊敗Google。 – 2011-03-01 19:35:50
你想要實現你自己的序列化器,還是你在問現有的序列化器? – Oded 2011-03-01 19:36:00