Que sont les paramètres -Xms et -Xmx lors du lancement de la JVM et comment les configurer correctement ?
Bonjour, collègues ! Je suis débutant en Java et j'ai rencontré un problème lors du lancement de ma première application sérieuse. J'ai un programme simple qui traite un gros fichier CSV (environ 500 Mo). J'ai écrit ce code :
import java.io.*;
import java.util.*;
public class CsvProcessor {
public static void main(String[] args) throws Exception {
List<String> lines = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("data.csv"))) {
String line;
while ((line = br.readLine()) != null) {
lines.add(line);
}
}
System.out.println("Lignes chargées : " + lines.size());
}
}
Quand je le lance avec la commande `java CsvProcessor`, le programme plante avec l'erreur `OutOfMemoryError: Java heap space`. J'ai entendu dire qu'il faut utiliser les flags `-Xms` et `-Xmx`, mais je ne comprends pas ce qu'ils signifient ni comment les configurer correctement. Sur Internet, on dit que `-Xms`