Java.lang.OutOfMemoryError: Java heap space

Résolu/Fermé
dev_man
Messages postés
83
Date d'inscription
dimanche 30 octobre 2011
Statut
Membre
Dernière intervention
29 avril 2013
- 24 janv. 2012 à 11:35
KX
Messages postés
16529
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 mai 2022
- 2 mai 2020 à 10:38
Bonjour tout le monde,

je rencontre un probleme lors de l'affichage d'un grand nombre d'enregistrements dans jtable.

l'erreur rencontré est la suivante :

Exception in thread "Thread-3" java.lang.OutOfMemoryError: Java heap space

at java.util.Vector.<init>(Vector.java:111)
at java.util.Vector.<init>(Vector.java:124)
at java.util.Vector.<init>(Vector.java:133)
..........
..........
..........

Veuillez m'aider svp.

2 réponses

KX
Messages postés
16529
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 mai 2022
2 955
24 janv. 2012 à 12:45
Ta machine virtuelle n'a pas suffisamment d'espace pour toutes les données que tu rentres, cela peut-être dû à une mauvaise configuration.
Tu peux utiliser l'option -Xmx pour définir la taille maximale à donner à la JVM.
Par exemple -Xmx256m lui attribuera 256 Mo de mémoire.

Si tu as toujours des problèmes, il va falloir optimiser ton programme pour limiter l'espace perdu, mais là ça va être une autre paire de manches !
17
dev_man
Messages postés
83
Date d'inscription
dimanche 30 octobre 2011
Statut
Membre
Dernière intervention
29 avril 2013
2
24 janv. 2012 à 13:27
Merci Pour ta réponse, pour te dire j'ai dèja effectué cette configuration et j'ai alloué davantage pour mon programme mais malheureusement toujrs je rencontre le même problème.

à savoir que j'essaye d'amener 800 000 enregistrements, tu peux me conseiller une piste ?
0
KX
Messages postés
16529
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 mai 2022
2 955 > dev_man
Messages postés
83
Date d'inscription
dimanche 30 octobre 2011
Statut
Membre
Dernière intervention
29 avril 2013

24 janv. 2012 à 13:37
Afficher 800 000 éléments dans une JTable en même temps c'est énorme.
Imagine ce que dirait ton navigateur web si Google te donnait sur la même page les 800 000 premiers résultats de sa recherche !!! Il vaut mieux réfléchir en pages comme il le fait.
Une page affiche 100 résultats par exemple, et tu te déplaces de pages en pages pour trouver ce que tu veux... Ou alors un menu déroulant où quand tu descends ça "désaffiche" la première ligne pour tout décaler et afficher la dernière (inversement si tu remontes).
0
dev_man
Messages postés
83
Date d'inscription
dimanche 30 octobre 2011
Statut
Membre
Dernière intervention
29 avril 2013
2
24 janv. 2012 à 15:34
Le probleme c'est que l'utilisateur peut exporter les données contenues dans le Jtable vers un fichier Excel, Dans ce cas la comment il peut les exporter on utilisant la méthode en page.
0
KX
Messages postés
16529
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 mai 2022
2 955 > dev_man
Messages postés
83
Date d'inscription
dimanche 30 octobre 2011
Statut
Membre
Dernière intervention
29 avril 2013

24 janv. 2012 à 16:31
L'affichage c'est une chose, mais le stockage des données en est une autre.
Normalement tu devrais avoir quelque part tes 800 000 éléments (dans une liste, un vecteur... ou une collection un peu plus évoluée) que tu affiches page par page, mais lorsque tu fais ton exportation peu importe ce qui est affiché, tu iras lire directement dans ta collection, pas dans ton interface graphique !
0
dev_man
Messages postés
83
Date d'inscription
dimanche 30 octobre 2011
Statut
Membre
Dernière intervention
29 avril 2013
2
24 janv. 2012 à 16:37
Oui je te comprends, mes données sont toutes stocké dans un vector et à partir de ce vecteur que j'affiche le resultat dans le jtable, le hic c'est que j'arrive pas à detecter à quel point je me bloque . est ce lorsque j'allimente mon jtable ou lors de de stockage dans le Vector ?
0