2012-03-07 3 views
0

私のクラスの1つは、膨大な数のインスタンスを直列化してXstreamを使用しなければならないため、ファイルサイズは完了したら30MBになります。データは非常にリピートなので、圧縮すると100KBのようにサイズは実際には問題にはなりません。しかし、シリアライズ/デシリアライズには多くの時間がかかります。巨大なリピートデータを格納するための理想的なシリアライゼーションJavaライブラリ?

私はキロを使ってみましたが、本当に好きではありませんでした。巨大なデータを直列化するためにXStreamを最適化する方法はありますか?使用できるより優れたライブラリがありますか?

答えて

2

あなたのクラスが膨大な数の繰り返しインスタンスを保存しなければならない理由は分かります。シリアル化に時間がかかると、RAMも同様に使用されます。私はメモリ内の反復を排除するためにSetや別のデータ構造を使用します。シリアライゼーションにも役立ちます。

これが可能でない場合は、シリアル化の問題を解決する方法がないと思います。

+0

+1:あなたのメモリ表現をよりコンパクトにすることが、あなたができる最良のものである可能性が高いことに同意します。 Javaのシリアライゼーションについても再考したいと思います。 –

+0

私はすべてのクリーチャーが同じ属性を持つRPGをプレイヤーにしています。私は今のところXstreamと一緒に生活しなければならないと思う。 – Elonoa

+0

XStreamがシリアライズよりもあなたの人生をより良くする方法はわからない。 XMLタグはそれを大きくします。 – duffymo

関連する問題