問題タブ [kryo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
7570 参照

scala - Kryo シリアライゼーションがクラス登録を拒否

私は kryo シリアライゼーションを次のように使用しようとしています:

特定のクラスが登録されていないという次のエラーが表示され続けます。

しかし、私はそれを登録します:

Log.TRACE() を設定すると、次の出力が得られます。

トレースロガーが登録されていることを出力するときに、登録されていないと言うのはなぜですか。この問題に関する有用なドキュメントが見つかりません。誰もこれを経験したことがありますか?それが役立つ場合、私はApache Spark v0.8.1を実行しています

0 投票する
2 に答える
524 参照

java - Java:アップキャストを強制する方法は?

Java でのシリアル化に Kryo ライブラリを使用しています。アップキャストを強制する方法がないという問題があります。状況の例を次に示します。

はまだ のインスタンスであるため、これによりclass not registeredエラーが発生します。barB

のインスタンスに強制的barにキャストする方法はありますかA、またはのようなことをする必要がありますnew A(bar)か?

0 投票する
1 に答える
1582 参照

java - Serializable を実装しているにもかかわらず、引数のないコンストラクターなしでオブジェクトをシリアル化できないのはなぜですか?

Titan グラフ データベースを使用して UUID をシリアル化しようとしていますが、Serializable の定義に従って、java.util.UUID が引数なしのコンストラクターを提供できないため、できないと思います。

(これについてはhttp://docs.oracle.com/javase/7/docs/api/java/io/Serializable.htmlの上部を参照してください)

java.util.UUID が Serializable を実装すると主張しているとすると、ここで何が起こっているのでしょうか? これは、下位互換性のために削除できない単なる歴史的な間違いですか、それともこの奇妙な (そして私にとっては厄介な) 選択には特定の技術的な理由がありますか?

更新:答えによると、UUIDは実際にシリアライズ可能であり、微妙であり、実際には同じクラスで引数なしのコンストラクターを必要としない引数なし​​のコンストラクタールールを読み違えています。私がシリアライズできなかった理由は、Titan (またはその依存関係) がより厳密な引数なしで宣言されたコンストラクター規則を追加するためです。コア Java ではありません。Java と Titan のどちらがこのルールを課しているのか、私は混乱しました。

0 投票する
2 に答える
18269 参照

java - Kryo を使用してオブジェクトをシリアライズし、再度デシリアライズするにはどうすればよいですか?

Kryoオブジェクトをシリアライズして再度デシリアライズするにはどうすればよいですか? 私はで働いていますKryo 2.23.0