私はいくつかの種類のAdressBookを実装しており、自分で実装されたDBの中のすべての連絡先をシングルトンHashMap<String, Contact> contactsDB
として保存したいと考えています。そのようなオブジェクトをシリアル化することは可能ですか?シングルトンオブジェクトをシリアライズする方法は?
答えて
は、いくつかのもの
// assume that the signleton is actually implemented correctly.
public class IHateSingletons
{
Map<String, Contact> contactMap;
public void storeThatStuffs(final ObjectOutputStream outputStream)
{
outputStream.writeObject(contactMap);
}
public void readThatStuffs(final ObjectInputStream inputStream)
{
contactMap = (Map<String, Contact>)inputStream.readObject();
}
多くの連絡先(メモリ内ではあまりにも多く)はこの実装(hooty singleton)がひどい選択であることを示します。その場合は、実際のデータベースを使用してください。 – DwB
Java serializable APIをご覧ください。あなたのカスタムクラスが 'シリアライザブル'を実装しているといいですね。
シングルトン自体をシリアライズしないで、シングルトンが動作する基礎となるデータをシリアライズしてください。ここ
100/1000/10000以上のcontacを持っていれば、それぞれをHashMapにデシリアライズしますか?それはCPUとメモリにあまりにも多くないのですか? – 4lex1v
連絡先が制限されたリソースを持つモバイルデバイスを使用している場合を除き、連絡先の詳細、10000の連絡先を持つ人は多量のメモリ/ CPU /ストレージスペースを使用しません。 – assylias
各連絡先が256バイトを使用する場合は、 1GBで16GBマシンを購入した場合、プレーンなHashMapを使用して40,000,000件の連絡先を保存できます.50〜50億を保存する場合は、別の解決方法があります。) –
は、あなたがこれを行う場合、あなたはあなたのクラスのシングルトンらしを一周するための方法を提供している(コードは、もはやgetObjectメソッドを経由していることに、注意してくださいされていません1つのオブジェクトしか作成されていないことを確認するメソッドでは、別々にシリアル化されたオブジェクトをデシリアライズすることはできません。
- 1. JVMでシングルトンオブジェクトを識別する方法は?
- 2. コンパイル時にシングルトンオブジェクトのクラスを取得する方法は?
- 3. コントロールをシリアライズする方法
- 4. ルアテーブルをシリアライズする方法
- 5. HashSetをシリアライズする方法
- 6. RESTフレームワーク:オブジェクトをシリアライズする方法は?
- 7. C#でJsonArrayをシリアライズする方法は?
- 8. Scalaのモックを使ってシングルトンオブジェクトをモックする方法
- 9. Scalaは:シングルトンオブジェクト
- 10. Scala - シングルトンオブジェクト階層を整理する正しい方法は何ですか?
- 11. JQueryでJSONオブジェクトをシリアライズする方法
- 12. boost :: uuids :: uuidをシリアライズする方法
- 13. マップをシリアライズ/デシリアライズする方法
- 14. Spring RestTemplate:java.util.Collectionをシリアライズする方法
- 15. ODATAでNotMappedプロパティをシリアライズする方法
- 16. oledbconnectionオブジェクトをシリアライズする方法C#
- 17. Pythonでハッシュオブジェクトをシリアライズする方法
- 18. androidでArrayListをシリアライズする方法
- 19. リストをダイナミックにシリアライズする方法
- 20. JavaでJSONオブジェクトをシリアライズする方法
- 21. xstream、リストをXMLにシリアライズする方法
- 22. 行列をシリアライズする方法
- 23. シリアライズする方法/デシリアライズのPictureBox
- 24. 変数にシリアライズする方法
- 25. のC# - シリアライズとデシリアライズ方法
- 26. jqueryで値をエンコードする方法はシリアライズしますか?
- 27. JMSSerializer - タイムゾーンをシリアライズに渡す方法
- 28. JIT。最良の方法はjsonにシリアライズ
- 29. toStringを使ってマップのコンテンツをシリアライズする方法は?
- 30. NewtonSoft Jsonを使用してFileInfoオブジェクトをシリアライズする方法は?
@Jak:はい、Rubyのドキュメントがここに役立ちます。 – skaffman
削除されました...私の間違い... :(oops – Jak