11 Stimmen

Java Collection welche Seiten auf die Festplatte, wenn sie voll ist?

Ein Kollege erwähnte, er habe von einer leichtgewichtigen Sammlung gehört, die automatisch auf die Festplatte ausgelagert wird, wenn ihr Inhalt zu voll wird - aber er konnte sich nicht an den Namen erinnern. Ich könnte mir vorstellen, dass es in etwa so aussieht:

PagingCollection<Serializable> pagingCollection = new PagingArrayList<>();
pagingCollection.setMaxSizeInMemory(500);
for (int x = 0; x < 1000; x++) { pagingcollection.add("x="+x); }

Das würde dann x=0 bis x=500 auf die Festplatte schieben. Der Schlüssel wäre, dass man darüber iterieren kann, ohne das Ganze in den Speicher zu laden.

Dies ist für einen Thick-Client mit wenig Speicherplatz gedacht.

Kennt jemand diese (oder eine ähnliche) Lösung?

7voto

Riduidel Punkte 21566

Nun, die einzigen Tools, die ich kenne, die diese Art von Funktionen haben, sind die Prävalenzsysteme: prevayler y Raum4j (Letztere scheint keine eigene Website mehr zu haben, aber immer noch verfügbar zu sein ... auf Sourceforge ). Obwohl die Benutzeroberfläche auf den ersten Blick seltsam erscheinen mag, ist sie doch recht einfach zu bedienen und bietet eine Reihe von praktischen Funktionen.

7voto

Andrejs Punkte 25249

MapDB ( mapdb.org ) ist eine Bibliothek, die plattenbasierte Sammlungen unterstützt: Mengen, Warteschlangen und Karten.

Sie können selbst entscheiden, wann Sie die Daten auf der Festplatte speichern wollen, oder sie einfach bei jeder Aktualisierung speichern.

Es unterstützt auch die Zwischenspeicherung, so dass alle Elemente auf der Festplatte, aber einige im Speicher zwischengespeichert werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X