JavaDB oder Listen/Arrays

Status
Nicht offen für weitere Antworten.

Johny

Mitglied
Ich habe eine Liste von Daten ca ein paar hundert Datensätze welche von Unterschiedlichen Threads und Funktionen verändert werden sollen.
Das ganze ist eine Desktop Anwendung.

bsp.
[ORT] [TEMPERATUR] [WINDSTÄRKE] [FEUCHTIGKEIT]

Die Orte sind am Anfang gegeben, es können aber auch neue hinzukommen.

So nun gibt es verschiedene Funktionen die auch mehrmals paralell in Threads laufen und die Orte um zusätzliche Daten ergänzen.

z.b. den Temperaturabfrager
Windabfrager
Feuchtigkeitsabfrager

Frage ist wie kann ich die Daten Thread Sicher ablegen? Reicht evtl eine Liste oder eine HashMap oder sollte ich evtl doch eine Datenbanklösung in betracht ziehen ?
Ich möchte nicht sonderliche viel mit der Anwendung ausliefern, wie geeignet ist JavaDB ? Was ist performance mässig besser.

Mit SQL würde ich das so realisieren.
1 Datensatz ziehen, wenn möglich Datensatz locken.
Wert ermitteln.
Datensatz verändern.
Datensatz unlocken.

Ob sich das mit nem Array oder ner HashMap ThreadSave realisieren lässt habe ich keine Ahnung, und wie performant das ist auchnicht.
 
G

Gelöschtes Mitglied 5909

Gast
kommt drauf an wie häufig du das ganze persistieren (=auf platte speichern) musst. Wenn dies häufig der Fall ist würde ich auf eine Datenbank setzen. Desweiteren kommt es drauf an wieviele Datensätze du im Speicher halten willst / kannst. Für ein paar Hundert Datensätze kannst du eigentlich alles im Speicher halten und am ende der Anwendung bzw wenn der User "Save" clickt abspeichern. Alternativ kannst du in einem Thread eine art autosave alle x sekunden machen. Dann würde ich eine ConcurrentLinkedList oder ähnliches aus dem paket java.util.concurrent nehmen, die von haus aus synchronisiert sind.

Was du noch in betracht ziehen solltest, ist ob sich die Datenstruktur ändern kann. Wenn du an einem Serialisierten objekt etwas änders (den attributen), dann kann der alte stand nicht mehr gelesen werden, es sei denn du implementierst es von hand. Mit Externalizable kannst du sowas auch einfach machen und die liste von hand wiederherstellen. ist eigentlich recht easy
 

Johny

Mitglied
Speichern muss ich das eigentlich nur beim Beenden der Anwendung und beim Starten.
Die Struktur ändert sich garnicht bis sehr selten. Die frage ist eher was von der verarbeitung her schneller ist. Von der menge her sind es wohl einige hundert bis wenige Tausend Datensätze.


Persönlich bin ich halt ansonsten relativ Datenbank Affin da ich meistens mit PHP+MySQL arbeite hab ich auch mit den Listen wenig Erfahrung
 

Landei

Top Contributor
Threadsafe? Vielleicht ConcurrentHashMap oder so nehmen (was natürlich noch nicht das Persistenzproblem löst)
 

Johny

Mitglied
okay, jetzt bin ich genauso weit wie vorher :)

MySQL fällt weg, die Anwendung soll Idiotensicher sein und einfach zu Installieren möglichst portable vom usb stick Lauffähig sein.

Über ne DB würde sich das schon reallisieren lassen indem nicht der Thread selbst den Datensatz aus der DB abfragt, sondern dieser bereits an ihn übergeben wird.

Wie Funktioniert denn diese JAVA DB, das ist Quasi ne Desktop Datenbank oder ?
Kann man die einfach mit ausliefern?
 

frapo

Bekanntes Mitglied
Wie Funktioniert denn diese JAVA DB, das ist Quasi ne Desktop Datenbank oder ?
Kann man die einfach mit ausliefern?

Im Prinzip Ja. JavaDB kann entweder embedded laufen, also im selben Thread wie Deine Anwendung oder JavaDB wird serverbasierend ausgeführt.

Das 'mit ausliefern' würde einfach dadurch erfolgen das Du die benötigten jar-Files von JavaDB mit Deiner Anwendung zur Verfügung stellst.

Genaueres gibt es hier: Java DB

Falls Du wirklich zu dieser Lösung tendierst, wäre es vielleicht noch interessant für Dich zu wissen, das es da eine leistungfähige Alternative zu JavaDB gibt: H2 Database Engine
Ich für meinen Teil arbeite viel lieber mit dieser Alternative.

Gruß
frapo
 

homer65

Top Contributor
JavaDB oder auch Derby genannt ist völlig unkompliziert mit der Anwendung auszuliefern. Die Software besteht aus einer Handvoll jar Dateien. Die Daten selbst werden in ein Verzeichnis deiner Wahl abgelegt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Listen in Listen in Listen ... ??? Java Basics - Anfänger-Themen 2
XWing listen Java Basics - Anfänger-Themen 7
FunkyPhil94 addLast und addFirst bei Listen Java Basics - Anfänger-Themen 6
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
S Lineare listen verkettung Java Basics - Anfänger-Themen 7
S Listen Java Basics - Anfänger-Themen 12
S Listen , Nodes am ende anängen Java Basics - Anfänger-Themen 6
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
M Java Listen Java Basics - Anfänger-Themen 4
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
A PhoneBook mit verketteten listen Java Basics - Anfänger-Themen 48
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
G Java Listen und Iterator Java Basics - Anfänger-Themen 2
S Erklaerung Listen Java Basics - Anfänger-Themen 27
J Implementierung Listen-ADT Java Basics - Anfänger-Themen 131
I Alle Elemente von zwei Listen vergleichen Java Basics - Anfänger-Themen 1
L Skip Listen Java Basics - Anfänger-Themen 5
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
L Wie testet man (selbstgeschriebene) Listen sinnvoll? Java Basics - Anfänger-Themen 2
F Problem mit Listen Java Basics - Anfänger-Themen 5
J Listen Operationen Java Basics - Anfänger-Themen 4
O Unterschied Arrays, Listen, Mengen Java Basics - Anfänger-Themen 24
J Eine Liste von Listen erstellen Java Basics - Anfänger-Themen 11
A Sortierte Listen Java Basics - Anfänger-Themen 4
L Datenstrukturen/ Listen Java Basics - Anfänger-Themen 17
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
L Listen und Felder Java Basics - Anfänger-Themen 2
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
R Arrays und Listen Java Basics - Anfänger-Themen 1
R Listen richtig implementieren Java Basics - Anfänger-Themen 3
F Multidimensionale Listen Java Basics - Anfänger-Themen 3
F Wie String in unterschiedliche Listen teilen Java Basics - Anfänger-Themen 7
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
T Objekte in Listen vererben Java Basics - Anfänger-Themen 3
A Klassen Klassen und Listen... Java Basics - Anfänger-Themen 5
Hacer Operationen einfach verketteter Listen Java Basics - Anfänger-Themen 22
S Methoden Vergleichen von zwei Listen in der Geschwindigkeit von O(n+m) Java Basics - Anfänger-Themen 32
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
C Listen Java Basics - Anfänger-Themen 3
C Zwei Listen verbinden Java Basics - Anfänger-Themen 1
C Zahlen merken mit Hilfe von Arrays/Listen Java Basics - Anfänger-Themen 2
E Feld von verketteten Listen Java Basics - Anfänger-Themen 11
T Überprüfung einer Aufgabe zu verketteten Listen Java Basics - Anfänger-Themen 5
S Liste mit Objekten und Listen Java Basics - Anfänger-Themen 9
JarJarBigs Frage zu Listen Java Basics - Anfänger-Themen 2
N verkettete Listen Java Basics - Anfänger-Themen 4
O Listen sort-Methode Java Basics - Anfänger-Themen 1
I Listen sortieren bei mehreren Listen zu einer Java Basics - Anfänger-Themen 2
L Lineare Listen Java Basics - Anfänger-Themen 2
S Listen Objekte nach LocalDateTime sortieren Java Basics - Anfänger-Themen 2
D Methoden Listen generieren Java Basics - Anfänger-Themen 4
A Sichtbarkeit in Methoden/Listen Java Basics - Anfänger-Themen 3
M verkettete Listen Java Basics - Anfänger-Themen 1
D Klausur Vorbereitung: Listen, Rekursion, Bäume & Vererbung Java Basics - Anfänger-Themen 3
S Vergleich von Listen Java Basics - Anfänger-Themen 6
I Zwei Listen vergleichen Java Basics - Anfänger-Themen 2
M Listen erstellen mit unterschiedlichen Reihenfolgen Java Basics - Anfänger-Themen 3
I Zwei Listen vergleichen bei n:m Beziehung Java Basics - Anfänger-Themen 2
I Zwei Listen: Wenn nicht vorhanden löschen Java Basics - Anfänger-Themen 4
I Prüfen von zwei Listen Java Basics - Anfänger-Themen 1
K Interface Generics, Interfaces und Listen - ich bin verwirrt. Java Basics - Anfänger-Themen 7
L Best Practice Alle Kombinationen aus Listenelementen, Anzahl Listen unterschiedlich Java Basics - Anfänger-Themen 6
llabusch Verkette Listen - Einfach und Doppelt Java Basics - Anfänger-Themen 3
S Unsortierte Listen - Frage zur "Verkettung" Java Basics - Anfänger-Themen 1
I Zwei Listen vergleichen Java Basics - Anfänger-Themen 7
I Listen, for - Schleifen Java Basics - Anfänger-Themen 8
P Listen Size stimmt nicht Java Basics - Anfänger-Themen 5
O Objekt Listen serialisierung und deserialisieren Java Basics - Anfänger-Themen 5
L Collections Objekte in Listen speichern Java Basics - Anfänger-Themen 3
G 2 Listen kombinieren und nach abc sortieren Java Basics - Anfänger-Themen 9
D Annonyme Innere Klasse: Listen mit geradem Index ausgeben Java Basics - Anfänger-Themen 6
G Listen sortieren Java Basics - Anfänger-Themen 3
G Generic und Listen Java Basics - Anfänger-Themen 8
R SQL ähnlicher Filter für Java Listen Java Basics - Anfänger-Themen 2
Y Collections 4 Listen Java Basics - Anfänger-Themen 14
S OOP/ Listen...etc... Java Basics - Anfänger-Themen 14
E Listen Java Basics - Anfänger-Themen 2
V Methoden Verkettete Listen Index eines Elementes ausgeben Java Basics - Anfänger-Themen 10
B Listen Java Basics - Anfänger-Themen 3
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
B Map per Listen Java Basics - Anfänger-Themen 2
S Erfahrungswerte von schnelles durchlaufen von Listen mit 2 Werten Java Basics - Anfänger-Themen 10
Joew0815 Problem mit Listen: add() Java Basics - Anfänger-Themen 11
P Zeichenorientierte & Serialisierte Datenverarbeitung Listen Java Basics - Anfänger-Themen 8
E Listen und Generics Java Basics - Anfänger-Themen 9
L dynamisches erzeugen von array Listen Java Basics - Anfänger-Themen 7
E Listen und Duplikate Java Basics - Anfänger-Themen 2
R Hilfe bei Listen Java Basics - Anfänger-Themen 10
F Collections Liste von Listen Java Basics - Anfänger-Themen 21
A Methoden Anfängerfrage: 2 Listen Vergleichen Java Basics - Anfänger-Themen 7
walker23m C++ Listen iteratoren in Java umwandeln Java Basics - Anfänger-Themen 3
X Listen und verschiedene Methoden Java Basics - Anfänger-Themen 6
N Listen Java Basics - Anfänger-Themen 5
S Listen Klasse selbst schreiben Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben