Erreur java.lang.OutOfMemoryError: GC overhead limit exceeded — que faire ?
Bonjour à tous ! Je suis un développeur Java débutant, j'écris une petite application pour traiter des logs. Le programme lit un gros fichier texte (environ 500 Mo), découpe les lignes en mots et collecte des statistiques — combien de fois chaque mot apparaît. J'utilise HashMap.
Tout fonctionnait normalement sur les petits fichiers, mais quand j'ai lancé sur des données réelles, après quelques minutes, une erreur est apparue :
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
Voici le code simplifié :
```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);
}
}
}
No answers yet.
Connectez-vous pour laisser une réponse