Fehler java.lang.OutOfMemoryError: GC overhead limit exceeded — was tun?
Hallo zusammen! Ich bin ein Java-Anfänger und schreibe eine kleine Anwendung zur Log-Verarbeitung. Das Programm liest eine große Textdatei (ca. 500 MB), zerlegt die Zeilen in Wörter und sammelt Statistiken — wie oft jedes Wort vorkommt. Ich verwende HashMap.
Bei kleinen Dateien funktionierte alles normal, aber als ich es mit echten Daten ausführte, erschien nach ein paar Minuten der Fehler:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
Hier ist der vereinfachte Code:
```java
public class LogAnalyzer {
public static void main(String[] args) throws IOException {
Map wordCount = new HashMap<>();
BufferedReader reader = new BufferedReader(new FileReader("large_log.txt"));
String line;
while ((line = reader.readLine()) != null) {
String[] words = line.split("\\s+");
for (String word : words) {
wordCount.merge(word, 1, Integer::sum);
}
}
}