問題タブ [mapdb]
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.
java - MapDB コレクションのサイズの問題
MapDB 0.9-snapshot を使用しています。数百万のレコード String->String を含むコレクションがあります。私の問題は、そのような ConcurrentMap(s) のメソッド size() が多くの時間と大量のメモリを消費することです (OutOfMemory エラーさえあります)。
他にそのような問題を経験した人はいますか?ありがとさよなら
java - mapdbでメモリが不足しています
mapdbをテストすると、メモリ不足エラーが発生します。プロジェクトの全体的なアイデアは、データ構造をディスクにシリアル化し、メモリの問題を回避することであることを考えると、私は何か間違ったことをしていると思います。私が間違っていることについて何か考えはありますか?それともバグがありますか?
スタックトレース。関数の29行目は、「assertNotNull(storage.get(key));」に対応しています。ライン。
unholysamplerの提案に基づいて、問題を修正する次の変更を行いました。
database - mapdb クロス再起動を永続化する方法
私は次のように使用mapdb
します
それから私がするとき
ただし、サーバーを再起動すると、ディスクに cache.db があることがわかりますが、読み取り時に空のマップが表示されます
それで
ファイルから再起動した後にマップを再読み込みするにはどうすればよいですか?
java - mapDb でオブジェクトをシリアライズおよびデシリアライズする - Java
オブジェクトをシリアライズおよびデシリアライズして mapDb に格納しようとしています。
このスニペットを使用してオブジェクトをシリアル化することができました:
その後、「結果」をmapDbに保存しました。すべてが魔法のように機能しているように見えました。
残念ながら、デシリアライズしようとしているときにいくつかの問題が発生しました。
ここにスニペット:
strは、文字列として扱われる mapDB からのシリアル化されたオブジェクトです。その後、それを byteArray として「キャスト」しました。mapDb からオブジェクトとしてデータを取得する際に問題が発生したため、このアプローチを使用しました。
それで、私はあなたに尋ねています、どうすればこの問題を解決できますか。オブジェクト " a " は、必要なクラスではなく、java.lang.Integer のインスタンスであるため、非セル化が機能していません。
java - MapDB バッチ インポートのパフォーマンス
レコードを1つずつ追加するのではなく、レコードのブロックを追加することにより、巨大なデータセットでのmapdbのHTreeMapのパフォーマンスを向上させることは可能ですか? ファイルシステムを使用しています。
java - MapDB の BTreeMap 実装でバイト配列をキーとして使用する方法
次のようにバイト配列をキーとして使用する方法はありますかBTreeMap
:
現在、新しいオブジェクトをマップに配置しようとすると、この例外がスローされます。
これを機能させる適切な方法は何ですか?ラッパー クラスを使用せずに解決策を知りたいです。
どんなアイデアでも大歓迎です。
[アップデート]
SJuan76 による提案されたソリューションを使用しました。
使用されたコンパレータは、必要に応じて Guava ライブラリで見つけることができます。