問題タブ [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.
scala - Kryo シリアライゼーションがクラス登録を拒否
私は kryo シリアライゼーションを次のように使用しようとしています:
特定のクラスが登録されていないという次のエラーが表示され続けます。
しかし、私はそれを登録します:
Log.TRACE() を設定すると、次の出力が得られます。
トレースロガーが登録されていることを出力するときに、登録されていないと言うのはなぜですか。この問題に関する有用なドキュメントが見つかりません。誰もこれを経験したことがありますか?それが役立つ場合、私はApache Spark v0.8.1を実行しています
java - Java:アップキャストを強制する方法は?
Java でのシリアル化に Kryo ライブラリを使用しています。アップキャストを強制する方法がないという問題があります。状況の例を次に示します。
はまだ のインスタンスであるため、これによりclass not registered
エラーが発生します。bar
B
のインスタンスに強制的bar
にキャストする方法はありますかA
、またはのようなことをする必要がありますnew A(bar)
か?
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 のどちらがこのルールを課しているのか、私は混乱しました。
java - Kryo を使用してオブジェクトをシリアライズし、再度デシリアライズするにはどうすればよいですか?
Kryo
オブジェクトをシリアライズして再度デシリアライズするにはどうすればよいですか? 私はで働いていますKryo 2.23.0