0

私はTreeSetを使用していくつかの情報を格納しているので、ある順序に従って並べ替えられます。

TreeSetが非常に大きくなった場合(> 1GB)、TreeSet内の最小の要素をファイルに保存して、RAMを解放したいと思います。その後、空きRAMが増えたら、これらの要素をメモリにリロードして処理できるようにしたいと思います。

私の質問は、TreeSetの一部をファイルに保存し、後でメモリに復元する 効率的な方法はありますか?

要素をメモリにリロードすると、新しいTreeSetの一部または同じTreeSetに含まれる可能性があることに注意してください。

これを行う方法についてのアイデアをありがとう!

4

1 に答える 1

1

TreeSetを何に使用していますか?内容は頻繁に変わりますか?速度またはディスク使用量の点で効率的にしようとしていますか?

ファイルの読み取りと書き込みはメモリに比べて非常に遅く、ファイルとメモリのバージョンを頻繁に変更する場合、それらのバージョンを同期させるのは難しい場合があります。

たぶん、データベースを使用することは理にかなっています。アプリケーションに埋め込むことができるderbyやsqlliteなどの軽量データベースがいくつかあります。データベースは、メモリとファイルの問題を心配するように設計されています。1Gbを超えるデータがある場合は、それを整理するのが理にかなっています。

于 2011-03-16T03:40:35.460 に答える