java.lang.OutOfMemoryError - Java - Programmation
Marsh Posté le 13-02-2005 à 17:37:55
ça dépend d'où vient l'erreur... si c'est un foirage dans du code récursif (ou pas d'ailleurs) faut nettoyer le code, si tu joues avec de gros objets, il faut allouer plus de mémoire à la JVM. (cf. les options de la JVM)
Marsh Posté le 13-02-2005 à 17:48:15
J'ajoute des valeurs ds des celulles d'une jtable automatiquement à partir d'un fichier que j'ai prealablement ouvert ds un textarea, en un moment donné ca plante et j'ai ce message d'erreur.
Marsh Posté le 13-02-2005 à 19:25:55
Voici le message:
Exception occurred during event dispatching:
java.lang.OutOfMemoryError
<<no stack trace available>>
Marsh Posté le 13-02-2005 à 20:10:07
un fchier de quelle taille ? taille de la JTable ?
Marsh Posté le 13-02-2005 à 20:59:50
la taille du fichier est 886 ko et la jtable compte 100 colonnes, ca fonctionne avec de plus petits fichiers
Marsh Posté le 13-02-2005 à 21:59:43
Essaye avec un heap size supérieur et voit ce que ça donne.
Mais c'est quoi, cette histoire de fichier ouvert préalablement dans un textarea ?
Marsh Posté le 14-02-2005 à 08:36:27
j'ai essayé avec un heap size supérieur j'ai tjs le meme probleme pas assez de mémoire alloué a la jvm .
Mon programme place des valeur ds un jtable a partir d'un fichier ouvert ds un jtextarea.
Marsh Posté le 14-02-2005 à 08:50:36
tu peux filer ta ligne de commande pour lancer ton prog ?
Marsh Posté le 14-02-2005 à 09:40:28
simson a écrit : je bosse avec jbuilder 7 |
Quel est le rapport ? Que tu ne comprends donc pas ce que tu fais ?
Marsh Posté le 14-02-2005 à 09:46:53
et la boucle est bouclée...
edit: bon alleï, tu dois bien configurer ton job que tu exécutes qque part... je ne connais pas JBuildere mais je présume que tu devrais pouvoir passer des arguments à la JVM pas très loin d'ailleurs où tu spécifies les arguments à passer à ton programe.
Marsh Posté le 14-02-2005 à 10:18:13
Tu peux toujours voir la commande utilisée avec tous ses paramètres dans la console d'exécution (elle fait souvent 1km de long avec ses dizaines d'entrées dans le classpath).
Essaye aussi d'exécuter ton prog en dehors de Jibildeur.
Marsh Posté le 14-02-2005 à 17:38:44
j'ai éssayé ceci sans succés:
L'erreur java.lang.OutOfMemoryError est levée lorsque la JVM (la machine virtuelle Java) ne peut plus allouer de mémoire pour un Objet. Le GarbageCollector ne peut plus en liberer.
Une possibilité est d'allouer plus de mémoire au lancement de la JVM avec l'option -Xmsn. Vous pouvez aussi fixer la taille maximale de la mémoire avec l'option -Xmxn. Ou n indique la mémoire initiale disponible. Les valeurs par défaut sont respectivement de 2MB et 64 MB.
Voici un exemple de notation :
java -Xms6291456
// 6291456 bytes
java -Xms6144k
//6144 kilo
java -Xms6m
//6 méga
et j'ai aussi exécuter le prog en dehors de jbuilder mais j'ai tjs le meme probleme
Marsh Posté le 14-02-2005 à 17:50:37
Essaye l'option -Xmx, et tape à 256MB ou même 512Mb.
Marsh Posté le 14-02-2005 à 22:47:46
j'ai essayé ,je comprend pas ca fonctione pas.
J'ai passé le nombre de colonnes de mon tableau de 100 a 10 et ca ne fonctionne tjs pas.J'ai tjs le meme message d'erreur.
Marsh Posté le 14-02-2005 à 23:31:53
simson a écrit : et j'ai aussi exécuter le prog en dehors de jbuilder mais j'ai tjs le meme probleme |
tu peux refiler la ligne de commande que tu utilises pour le lancer en dehors de JBuilder ? car sans ça...
et tu as quoi comme processus entre ton JTextarea et ta JTable ?
Marsh Posté le 13-02-2005 à 16:16:32
Bonjour,
Comment résoudre l'erreur java.lang.OutOfMemoryError?Pas assez de mémoire?
Merci