Ich erhalte eine GC Overhead Limit überschritten Fehler beim Auffüllen einer Hashmap mit> 100000 Objekte.Architektur: Wie GC overhead Problem beim Auffüllen von Hashmap zu überwinden
Wenn mein Programm startet, liest es aus einer CSV-Datei Schlüssel: Wert-Paare. Es erstellt dann eine Hashmap, die eine Zeichenfolge als Schlüssel und ein Hashset von Objekten für jeden Wert enthält.
Es ist bequem, diese Methode zu behalten, weil ich am Ende Statistiken basierend auf diesen Mappings drucke.
Ich sehe ein paar Optionen: - Reduzieren Sie die Objektgröße. Reduziert das Problem, kann jedoch bei mehr Objekten bestehen bleiben. - Standardkartengröße und Ladefaktor konfigurieren. Das gleiche wie oben. - Erhöhen Sie die Größe des Heapspeichers. Das gleiche wie oben. - Objekte nacheinander bearbeiten und verwerfen. Wird das Problem beheben, verliert jedoch das Mapping von Objekten. - Speicher auf DB abladen?
Sehr schätzen Sie Ihre Gedanken.
Haben Sie schon einen Blick in http://stackoverflow.com/questions/1393486/error-java-lang-outofmemoryerror-gc-overhead-limit-exceeded/? –