Googleの優れたGsonライブラリと同様に、Java POJOのシリアル化を可能にするライブラリがあることを期待しています。Google Gsonのようなオブジェクトはコンパクトなバイナリ形式にシリアル化しますか?
しかし、シリアル化されたフォーマットは非常にコンパクトで(個々のUDPパケットに合わせる必要があります)、JSONへのシリアライズは無駄であり、バイナリフォーマットを好むと思います。
そんなことはありますか?
Googleの優れたGsonライブラリと同様に、Java POJOのシリアル化を可能にするライブラリがあることを期待しています。Google Gsonのようなオブジェクトはコンパクトなバイナリ形式にシリアル化しますか?
しかし、シリアル化されたフォーマットは非常にコンパクトで(個々のUDPパケットに合わせる必要があります)、JSONへのシリアライズは無駄であり、バイナリフォーマットを好むと思います。
そんなことはありますか?
に見ることができるが何日か前、私はJSONの単純なバイナリ表現であることを主張BSONを発見しました。私はこれを試していませんでしたが、よくある質問から、JSON(小数はより多くのスペースを使用します)よりコンパクトではなく、パースして生成するのが簡単です(より速く)。送信するデータ型がわかっている場合、他のプロトコルはこれよりも(少なくともスペースに関して)効率的になる可能性があります。
代わりにHessianを使用してください。もう少しのスペースを節約したい場合は、ストリームをデコレートしてくださいGZipOutput/Input Stream
はい、私はプロトコルバッファを認識していますが、誰かがGoogle Gsonと同じ方法でPOJOをシリアライズする実装を作成していますか? – sanity
圧縮の問題は、各メッセージを個別に圧縮する必要があることです。 UDPはロッシーでセッションが少ないので、ストリームがいつ始まるか分からないので、複数のパケットを圧縮するのは実用的ではありません。 –
パケットごとに新しいストリームを使用する必要があります。しかし、多くの場合、そのような汎用の圧縮アルゴリズムは、大量のデータに適しています。何かを提供すればベンチマークする必要があります。 –
おそらく、ヘッシアンのビルドを圧縮とメッセージの署名(必要な場合)で使用することをお勧めします。 – altanis