Bonjour à tous,
Je fais une application en Java dans le cadre de mon stage et tout se passait pas trop mal jusqu'à ce que je tombe sur cette erreur: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Ca ne me le faisait pas avant et ce n'est qu'en ajoutant des appels à des méthodes que ça a fini par apparaître.
Je me suis renseigné et d'après plusieurs forums il sagirait d'un espace mémoire. Alors j'ai fais comme recommandé, Run as, Run configuration, Arguments, et dans VM Arguments j'ai essayé des trucs du genre Xmx 256m ou -Xmx 256m etc. J'au fais apply mais rien n'a changé.
Ensuite j'ai vu qu'on pouvait se rendre compte de la place mémoire utilisé grâce à la classe Runtime. j'ai donc fais
avant l'appel à toutes mes méthodes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.println("Mémoire totale: "+run.totalMemory());
Puis
après chaque appel à une méthode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.println("Mémoire utilisée: "+run.freeMemory());
Et en console j'obtiens:
Mémoire totale: 21561344
Mémoire utilisée: 15536064
Mémoire utilisée: 15536064
Mémoire utilisée: 15536064
Mémoire utilisée: 15536064
Mémoire utilisée: 15476080
Mémoire utilisée: 15446088
Ah oui et dernière chose, mes méthodes en questions sont soit chargées de chercher des infos dans une base Access, soit dans des fichiers Excel. Et donc ça fait plusieurs dizaines de milliers de lignes à balayer.
Partager