Serialisierung / Speicherung Geschwindingkeit & Aktuelle Position

  • Themenstarter Themenstarter Quurks
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
Q

Quurks

Gast
Ich habe in einem Programm ca 100.000 Objekte, bestehend aus einem long, 4 kurzen (<20 Zeichen) Strings, einem char und einem GregorianCalendar zu speichern, vermutlich verschlüsselt, was aber nicht das Problem ist.

Diese Objekte müssen beim Programmstart eingelesen und beim Beenden gespeichert werden. Jetzt ist dei Frage, wie man das am besten macht, die Standart-Serialisierung erscheint mir langsam, XStream ist besser. Dieses Programm hat aber meiner Meinung nach das Problem, dass ich bei dem langen Prozess keine Rückmeldung über den aktuellen Stand bekomme, um einen Fortschrittsbalken zu generieren.

Meine Fragen also:
1) Hat XStream einen "Zustandszeiger" oder kann man den "nachrüsten"?
2) Ist XStream dafür eine gute/schnelle Wahl? Gibt es schnelleres?(XML ist nicht Pflicht, will es nur mit Java auslesen)
Die Daten müssen nur auf dem Rechner verfügbar sein, und es werden vorraussichtlich wenige Benutzer werden

Hoffe auf baldige Antworten
 
Galileocomputing:Standardserialisierung. Die Objektstruktur und Zustände werden in einem binären Format gesichert. Das Verfahren wird auch Java Object Serialization (JOS) genannt.
 
Serialisierung ist evtl. unter anderem deshalb langsam, weil es Objekte allgemein untersuchen muss, und besonders darauf achtet, kein Objekt doppelt zu speichern,

wenn du diese Eigenschaften nicht brauchst sondern genau 100.000 unterschiedliche Objekte derselben Klasse speichern willst,
dann ginge vielleicht eine einfache Textdatei:
BufferedWriter b = ..;
for (Objekte) {
b.writeChar
b.writeStrings
b.writeDate
}

Format merken und beim Einlesen die richtigen 20 Daten zu einem neuen Objekt zusammensetzen
 
Und für XStream gibt es keine Möglichkeit den aktuellen Zustand/die aktuelle Position auszugeben/ irgendwohin zu Speichern?
 
wenn ich dazu irgendwas wüßte, hätte ich es erwähnt (falls du auf eine Antwort speziell von mir wartest 😉 )
 
Nein, dass nicht, ich dachte nur, dass du dass evtl übersehen hast
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben