begrenzung des platzes im heap

Exceptionist

Aktives Mitglied
also ich hab nen programm geschrieben was md5-hashes aus klartexten bildet und ebenso aus bereits gebildeten hashes die klartexte zurückgibt.

das ganze läuft über eine dictionary.txt, wo in jeder zeile ein wort steht.
anwendungsfall für dieses programm: configfiles für server im netzwerk beinhalten md5-hashes, an sich gibt es nur eine mittlere anzahl an hashes, mit der das programm auch reibungslos läuft.

jedoch hab ich mal probiert die dictionary.txt aufzublähen (um die grenzen der einträge zu erkennen) und hab mal zwei längere wortlisten aus dem netz in diese datei kopiert
bei ca 296.434 zeilen gibts keine probleme, bei 457.173 zeilen bekomm ich aber nen error und zwar den folgenden:

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
java.lang.NullPointerException
at sun.awt.SunToolkit.postEvent(SunToolkit.java:570)Exception in thread "Thread-5"
java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

wie genau bekomm ich denn die werte heraus, ab wann die datei zu gross ist? (hab selber 2GB RAM, was für die normalen bürorechner auch standard is)
sowas müsste ja auch abgefangen werden, denn wenn des kleine tool dauerhaft in betrieb bleibt und ggf konzernweit eingesetzt würde, kann ich mir schon vorstellen, dass ein- und dieselbe dict-file weitergegeben wird und stetig anwächst.
 

Ein Keks

Bekanntes Mitglied
ein java programm hat standart mäßig nur 64MB zur verfügung. erhöhen kannst du das mit dem StartParameter -Xmx<Zahl>M also z.b "java -Xmx256M -jar Programm.jar" für 256MB.
Allerdings wäre es ne überlegung wert stattdessen eine datenbank zu nehmen, schließlich ist es ja nicht grade sinnvoll die ganze zeit 100MB im Speicher zu behalten, vor allem wenn es immer mehr einträge werden.
 

Exceptionist

Aktives Mitglied
naja die anwendung soll halt ohne db funzen, damit man die eben auch ohne db-server nutzen kann und an sich sollten es j nicht so viele einträge werden, es war wie gehabt nur nen test.

und bei uns startet auch niemand ne application über die konsole nur via doppelklick :)

aber danke für die info mit den 64MB
 

Dragonfire

Bekanntes Mitglied
Wenn man mehr als 64MB Speicher benötigt,
kann man dann nicht eine Art lokalen Zwischenspeicher einbauen?
Stände mir keine Datenbank zur Verfügung, dann würde ich z.B. für jeden Buchstaben eine Datei erstellen und dort sortiert die Wörter mit Hash abspeichern
oder vielleicht Dateien mit fortlaufenden Nummern (Die Datei mit Anfang e wäre ja größter als z.B. y).
Anschließend würde ich nur die aktuell benötigten Daten von dem "Zwischenspeicher" einlesen ...
eine Art Mini-DB.
Hätte auch den Vorteil,
dass man nicht immer aus der TXT-Datei die Hashes und Co generieren muss.
Wenn man das ganze in einem Ordner packt, dannn wäre das auch für den Benutzer komfortabel.

Ich bin mir aber nicht sicher wie legal dein kleines Programm ist ...
 

Ein Keks

Bekanntes Mitglied
Exceptionist hat gesagt.:
und bei uns startet auch niemand ne application über die konsole nur via doppelklick
leg ne batch-datei daneben die das programm mit dem parameter startet auf die kann man dann immer noch einen doppelklick machen xD

ansonsten muss ne db nicht auf nem server liegen sondern kann auch bloß ein kleiner ordner in dem verzeichnis sein (z.B. derby)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F u.a. Ressourcen begrenzung für Java-Anwendung Java Basics - Anfänger-Themen 5
StickToFreak Mit GameLoop "Spielfeld-Begrenzung" Java Basics - Anfänger-Themen 24
G Begrenzung bei PrintWriter? Java Basics - Anfänger-Themen 6
M Gibt es eine Begrenzung der Anzahl der Objekte? Java Basics - Anfänger-Themen 5
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
S Java Client-je nach Heap Size Größe startet Applikation oder nicht Java Basics - Anfänger-Themen 4
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
G Min und Max heap Java Basics - Anfänger-Themen 1
M Java heap space Fehlermeldung beheben Java Basics - Anfänger-Themen 3
F speicherort stack oder heap Java Basics - Anfänger-Themen 1
M Algorithmus Max-Heap? Java Basics - Anfänger-Themen 3
P Stack, Heap Java Basics - Anfänger-Themen 13
G Heap Space erhöhen (64bit) Java Basics - Anfänger-Themen 45
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
J Array von Objekten, wie schauts im Heap / Stack aus ? Java Basics - Anfänger-Themen 7
V Heap-Sort Java Basics - Anfänger-Themen 0
M Frage zu Stack und Heap Java Basics - Anfänger-Themen 1
H Heap-Auslasung verdoppelt sich schlagartig Java Basics - Anfänger-Themen 3
M Java Arbeitsspeicherverbrauch, Heap Space error korrigieren? Java Basics - Anfänger-Themen 18
H Heap Java Basics - Anfänger-Themen 4
D Java Heap Space Probleme Java Basics - Anfänger-Themen 7
B Stack/Heap Frage Java Basics - Anfänger-Themen 36
C Warning: Type safety: Potential heap pollution via varargs parameter array Java Basics - Anfänger-Themen 5
S Input/Output Java heap space Java Basics - Anfänger-Themen 8
W Compiler-Fehler "Could not reserve enough space for object heap"... und dann raucht das Programm ab Java Basics - Anfänger-Themen 3
B OOP Zwei gleichnamige Objekte auf dem heap Java Basics - Anfänger-Themen 4
H Heap Java Basics - Anfänger-Themen 2
A Java heap space Java Basics - Anfänger-Themen 11
T Out of Memory (Java Heap Space) Java Basics - Anfänger-Themen 9
B Heap-Speicher wieder freigeben Java Basics - Anfänger-Themen 10
D java heap space Java Basics - Anfänger-Themen 6
S Java Heap space trotz -Xmx1024 Java Basics - Anfänger-Themen 10
N Heap Dump Java Basics - Anfänger-Themen 23
C 'OutOfMemoryError: Java heap space' Java Basics - Anfänger-Themen 5
E ternärer Heap in Array-Form Java Basics - Anfänger-Themen 6
L heap space, LinkedList umspeichern Java Basics - Anfänger-Themen 15
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
G Frage zur Heap-Belegung Java Basics - Anfänger-Themen 2
neurox java.lang.OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 18
B java.lang.OutOfMemoryError: Java heap space bei Musikplayer Java Basics - Anfänger-Themen 7
M Java Heap Space durch Übergang von einer Klasse in die ander Java Basics - Anfänger-Themen 3
N Applet Heap vergrößern Java Basics - Anfänger-Themen 10
G warum heap space problem? Java Basics - Anfänger-Themen 6
G heap size vergrößern Java Basics - Anfänger-Themen 6
S memory heap problem Java Basics - Anfänger-Themen 9
V warum heap space überlastung Java Basics - Anfänger-Themen 2
G error wegen heap space Java Basics - Anfänger-Themen 4
M Beadarf ermitteln für Java heap space Java Basics - Anfänger-Themen 4
M Dateien lesen/schreiben und Heap Space Probleme Java Basics - Anfänger-Themen 8
G Aktuelle Heap-Größe auslesen? Java Basics - Anfänger-Themen 3
G Aus Array einen Heap erstellen Java Basics - Anfänger-Themen 5
D suchbaum out of heap space Java Basics - Anfänger-Themen 8
D Heap erweitern Java Basics - Anfänger-Themen 3
R Java heap space Java Basics - Anfänger-Themen 4
E Heap Size einstellen Java Basics - Anfänger-Themen 7
S OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 6
J Morgen Java-Klausur. Stack, Heap, Method-Area Java Basics - Anfänger-Themen 2
M Java Heap Space während der Laufzeit ändern Java Basics - Anfänger-Themen 2
E fehlermeldung "java heap space" Java Basics - Anfänger-Themen 21
E wieviele objekte am heap?? Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben