Große Datenstruktur im Speicher halten

Phorx

Mitglied
Guten Tag!

Ich habe eine ziemlich große Datenstruktur, die trotz Serialisierung noch relativ lang zum Laden braucht.
Meine Überlegung ist, ob ich dieses Objekt nicht einfach im Speicher halten kann. Verändert wird es quasi nie, nur das Programm das die Daten daraus benutzt wird ständig neu gestartet, weswegen dann immer neue deserialisiert werden muss.

Kann mir jemand sagen ob es möglich ist, daraus zwei Programm oder ähnliches zu machen, das eine hält die Datenstruktur und stellt dem Programm das diese benutzt ständig zur Verfügung, wenn benötigt, ohne neugestartet werden zu müssen?!

Vielleicht gibt es andere Möglichkeiten, auch da wäre ich sehr denkbar über Ideen und Methoden.
Bisher ist mir vor allem eingefallen, das ich es so machen könnte (wenn das technisch möglich ist) indem ich "einfach" auf die Objekte des anderen Java-Programms zugreifen könnte. Oder über ich lass das eine als Server laufen und schicke die fertig geladene Datenstruktur über TCP zum Programm das die Daten anfordert...!?

Vielen Dank für alles was ihr dazu habt!
 

Phorx

Mitglied
Es geht um einen binären Entscheidungsbaum, der Tests beantwortet und je nach Antwort eine berechnete Datenmenge ausspuckt die dann wieder in einer Klasse mit verschiedenen Methoden verschachtelt ist.

Ich glaub Datenbank in dem Sinne passt da nicht so gut? Hatte ich wohl unverständlich ausgedrückt ;)
Oder meinst du das geht trotzdem gut mit einer Datenbank?
 

ARadauer

Top Contributor
Das könntest du machen, das ein Programm als Server fungiert. Die Kommunikation über eine socket verbindung ist eine Lösung die auch von anderen Programmen eingesetzt wird. Wenn beide Programme auf dem selben Rechner laufen sollte es auch keine großen Performanze Probleme geben. Das kannst du ja einfach testen...
 

Phorx

Mitglied
Scheint nicht so gut zu sein. Die Deserialisierung dauert bei einem kleineren Beispiel nur 5 Sekunden. Das senden vom Server zum Client immerhin 10 Sekunden :-/

Hat jemand Erfahrung mit RMI ? Das hab ich noch zu dem Thema gefunden. Aber sieht nicht so richtig nach dem aus was ich gerne hätte... auf den ersten Blick.

Ok, Spring google ich dann auch mal
 

Bernd Hohmann

Top Contributor
Hat jemand Erfahrung mit RMI ? Das hab ich noch zu dem Thema gefunden. Aber sieht nicht so richtig nach dem aus was ich gerne hätte... auf den ersten Blick.

Spring, RMI... Geht alles über Objekt(de)serialisierung.

Ein Ansatz wäre zu überlegen, den Kram I/O-Freundlich im RAM zu halten (zb. in nativen Arrays byte/int/ oä.) oder versuchen, die Daten für die Abspeicherung/Transport in native Arrays zu übersetzen um die Default-serialisierung zu umgehen.

Bernd
 

DrZoidberg

Top Contributor
Scheint nicht so gut zu sein. Die Deserialisierung dauert bei einem kleineren Beispiel nur 5 Sekunden. Das senden vom Server zum Client immerhin 10 Sekunden :-/

Also auf meinem Rechner kann ich ca. 1 GigaByte pro Sekunde über eine lokale Netzwerkverbindung senden. Entweder deine Datenstruktur ist ziemlich gross oder du machst was falsch. Sende immer so viele Bytes auf einmal wie möglich mittels byte Arrays.
 

timbeau

Gesperrter Benutzer
d.h. 8GiBi/s...was habt ihr für ein Netz? Ist auf jeden Fall bei mir nicht so. Da ist die 100MBit Leitung schneller.
 

Aiwendil

Mitglied
Wie groß ist den die serialisierte Datei, wo ist da der Flaschenhals beim deserialisieren und wie ist das ganze denn serialisiert?
Prinzipiell hast du nämlich beim Verwenden eines Servers auch immer das Problem, dass du nur serialisierte Daten schicken kannst.

Ein anderer Ansatz wäre das Programm nicht komplett zu beenden, sondern zb nur die Oberfläche und die arbeitenden Threads zu schließen. Dann könntest du einen einzigen Hintergrundthread übrig behalten, der dir deine Datenstruktur im Speicher hält und darauf wartet den Rest vom Programm neu zu starten. Wäre jetzt imho der intuitivste und am schnellsten umsetzbare Weg.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Welcher Datentyp für sehr große Zahlenbereiche? Allgemeine Java-Themen 1
F Große Datenmengen effizient programmieren Allgemeine Java-Themen 51
N Das große O berechnen Allgemeine Java-Themen 2
F Best Practice Große Anzahl an Objekten speichern und lesen Allgemeine Java-Themen 19
R Große Zahlen in Worten abkürzen Allgemeine Java-Themen 10
K Große JSON-Dateien schnell und effizient verarbeiten Allgemeine Java-Themen 16
K Große Mengen an Daten speichern Allgemeine Java-Themen 9
VfL_Freak Große und seltsame Probleme nach Java-Update auf V1.8.0_91 Allgemeine Java-Themen 3
E Best Practice Verdammt große Objekte Allgemeine Java-Themen 10
M Einfluss von Caching auf die Performance (große Arrays) Allgemeine Java-Themen 24
U Große Liste von Strings mit indiziertem Zugriff Allgemeine Java-Themen 31
P Datentypen Große Datenmenge Sortiert halten Allgemeine Java-Themen 12
D große Textdatei filtern Allgemeine Java-Themen 13
M Große Datei mit Regex durchsuchen Allgemeine Java-Themen 4
R POI große Exceldatei schreiben Allgemeine Java-Themen 7
R Dateigestützte Collection für große Datenmengen Allgemeine Java-Themen 5
K Scanner - große Textfile, nur 0 ab betim. Wert Allgemeine Java-Themen 4
trash Das große Problem: .jar Archiv Allgemeine Java-Themen 19
J Große Datei einlesen und gestückelt verarbeiten Allgemeine Java-Themen 4
I Große Datei am effektivsten/performantesten auslesen und auswerten? Allgemeine Java-Themen 6
S große CSV-Dateien Importieren. Beste Lösung ?! AWS,S3,Hadoop!? Allgemeine Java-Themen 4
P große double Zahlen und modulo Allgemeine Java-Themen 8
O Große Anzahl Bilder laden Allgemeine Java-Themen 7
A Mit RegEx große Dokumente erfassen Allgemeine Java-Themen 14
X Wie verdammt große Datein öffnen? Allgemeine Java-Themen 2
G Große Datenmengen per JDBC Allgemeine Java-Themen 5
P Große Datenmenge wie speichern (HashMap? TreeMap?) Allgemeine Java-Themen 11
G Große XML-Dateien einlesen und auswerten . Allgemeine Java-Themen 2
P Performance: Ziehen ohne Zurücklegen (große Datenmenge) Allgemeine Java-Themen 10
I JNI - Große Daten übertragen Allgemeine Java-Themen 6
T Große Dateibestände löschen - Speicherproblem Allgemeine Java-Themen 20
S Große ArrayListen Allgemeine Java-Themen 8
S große Datei einlesen! Allgemeine Java-Themen 7
J Große Zahl (double) as text ausgeben? Allgemeine Java-Themen 2
S Kleines Eclipse Problem, große Wirkung Allgemeine Java-Themen 7
H Referenzen statt Objekte für große Speicherstrukturen Allgemeine Java-Themen 19
K Große Herausforderung Allgemeine Java-Themen 2
F Zu große Werte beim byteweisen Lesen mit BufferedReader.read Allgemeine Java-Themen 5
D Große Klasse - was fällt euch so ins Auge? Kritik bitte! Allgemeine Java-Themen 10
M Große Dateien laden Allgemeine Java-Themen 2
F Große Dateien schnell einlesen Allgemeine Java-Themen 14
M Eigene Datenstruktur um eine Menge zu speichern Allgemeine Java-Themen 3
Kirby.exe Union Find Datenstruktur Allgemeine Java-Themen 27
U Klassen Komplexe Datenstruktur in Java Allgemeine Java-Themen 4
J Datenstruktur für eine Map erstellen Allgemeine Java-Themen 2
B Suche geeignete Datenstruktur Allgemeine Java-Themen 5
ruutaiokwu datenstruktur welche sich "im kreis" dreht Allgemeine Java-Themen 26
B Suche passende Datenstruktur für 2 Einträge Allgemeine Java-Themen 19
G Welche Datenstruktur? Allgemeine Java-Themen 19
R Collections Datenstruktur gesucht Allgemeine Java-Themen 12
D Datenstruktur für Hierarchie/Baum mit Tiefe 3 Allgemeine Java-Themen 8
D Datenstruktur .. BlockingQueue (LIFO) Allgemeine Java-Themen 3
P Suche Datenstruktur Allgemeine Java-Themen 2
S Welche Datenstruktur für verschiedene Sprachen sinnvoll? Allgemeine Java-Themen 2
ruutaiokwu schnelle datenstruktur... Allgemeine Java-Themen 13
S Baumstruktur/Datenstruktur in Datei speichern Allgemeine Java-Themen 23
D Datenstruktur Allgemeine Java-Themen 2
B Datenstruktur: Liste Allgemeine Java-Themen 5
A Thread sichere Datenstruktur Allgemeine Java-Themen 5
J Arrayähnliche Datenstruktur Allgemeine Java-Themen 4
B Script Problem "Dynamische Datenstruktur" Allgemeine Java-Themen 13
S Frage zum Design der Datenstruktur Allgemeine Java-Themen 10
G Datenstruktur: LISTEN Allgemeine Java-Themen 7
D Suche nach passender Datenstruktur Allgemeine Java-Themen 4
N Datenstruktur für Netze gesucht Allgemeine Java-Themen 8
G Daten von Excel kopieren - sinnvolle Datenstruktur? Allgemeine Java-Themen 3
U eigene Datenstruktur ArrayList<String> nach Object [][ Allgemeine Java-Themen 2
F welche Datenstruktur? Allgemeine Java-Themen 9
F Welche Datenstruktur Allgemeine Java-Themen 2
T Datenstruktur gesucht Allgemeine Java-Themen 18
T Datenstruktur für großes Netz Allgemeine Java-Themen 2
Z Welche Datenstruktur verwende ich h_ier bloss ? Allgemeine Java-Themen 14
G NullPointer. in einer Datenstruktur Allgemeine Java-Themen 2
S Welche Datenstruktur passt bei mir? Allgemeine Java-Themen 6
H Speicheverbrauch einer Datenstruktur ermitteln Allgemeine Java-Themen 29
S Suche geeignete Datenstruktur Allgemeine Java-Themen 27
S Datenstruktur für einen Baum Allgemeine Java-Themen 5
D Welche Datenstruktur? Allgemeine Java-Themen 2
T Datenstruktur für Straße ! Allgemeine Java-Themen 5
B Datenstruktur elegant zerlegen Allgemeine Java-Themen 6
G Datenstruktur gesucht: Allgemeine Java-Themen 3
A Datenstruktur und Sortierung Allgemeine Java-Themen 12
C Virtueller Speicher Allgemeine Java-Themen 36
sascha-sphw Auf GoPro Speicher zugreifen Allgemeine Java-Themen 10
TheJavaKid Mit Java die Festplatte mit dem meisten freien Speicher finden Allgemeine Java-Themen 7
J Strings int textdokumente speicher Allgemeine Java-Themen 3
M Eine Datei im Speicher erneut laden(?) Allgemeine Java-Themen 1
L Input/Output Datei in den Speicher lesen. Allgemeine Java-Themen 9
Thallius Wie mache ich eine Java App mit Icon startbar die mehr Heap Speicher braucht? Allgemeine Java-Themen 3
H Frage wegen Heap-Speicher Allgemeine Java-Themen 2
M Speicher der VM Allgemeine Java-Themen 4
W PDFBox "Nicht genügend Speicher" Allgemeine Java-Themen 2
S Speicher-Problem Allgemeine Java-Themen 4
C Strings und JSON Objekte so klein wie möglich im Speicher ablegen Allgemeine Java-Themen 5
V Input/Output BufferedI/OStream leert den Speicher Allgemeine Java-Themen 7
G Speicher erhöhen Allgemeine Java-Themen 10
R Programm frisst 'Virtuellen Speicher' wie PacMan Allgemeine Java-Themen 4
P Java Anwendung mehr Speicher zur Verfügung stellen?? Allgemeine Java-Themen 3
A 2D-Grafik 2MB jpg wird zu 300MB im speicher (fehler) Allgemeine Java-Themen 8
E Speicherverwaltung bzw. Speicher wieder frei geben?! Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben