Je rencontre un probl=E8me lors de la d=E9s=E9rialisation d'objets depuis
un fichier "toto.ser", =E0 la lecture l'application plante.
Ce cas se produit uniquement si la taille de ce fichier est
cons=E9quente, dans mon cas d=E8s que cela d=E9passe les 4Mo, c'est un
cas qui se produit de temps en temps en fonction des infos
s=E9rilais=E9es.
J'avoue avoir longuement cherch=E9 dans les diff=E9rents forum mais pour
l'instant en vain.
Quelqu'un aurait d=E9j=E0 rencontr=E9 ce probl=E8me.
Merci d'avance pour vos r=E9ponses.
Ci-dessous mon code :
FileInputStream aFileInputStream =3D new FileInputStream(aFile);
ObjectInputStream input =3D new ObjectInputStream(aFileInputStream);
MonTypeObjet ec =3D (MonTypeObjet) input.readObject();
input.close();
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François-Xavier GENDRIN
Bonjour,
Je rencontre un problème lors de la désérialisation d'objets depuis un fichier "toto.ser", à la lecture l'application plante.
Ce cas se produit uniquement si la taille de ce fichier est conséquente, dans mon cas dès que cela dépasse les 4Mo, c'est un cas qui se produit de temps en temps en fonction des infos sérilaisées.
J'avoue avoir longuement cherché dans les différents forum mais pour l'instant en vain.
Quelqu'un aurait déjà rencontré ce problème.
Merci d'avance pour vos réponses.
Ci-dessous mon code :
FileInputStream aFileInputStream = new FileInputStream(aFile); ObjectInputStream input = new ObjectInputStream(aFileInputStream); MonTypeObjet ec = (MonTypeObjet) input.readObject(); input.close();
As tu une stack trace ou quelque chose d'autres ?
Bonjour,
Je rencontre un problème lors de la désérialisation d'objets depuis
un fichier "toto.ser", à la lecture l'application plante.
Ce cas se produit uniquement si la taille de ce fichier est
conséquente, dans mon cas dès que cela dépasse les 4Mo, c'est un
cas qui se produit de temps en temps en fonction des infos
sérilaisées.
J'avoue avoir longuement cherché dans les différents forum mais pour
l'instant en vain.
Quelqu'un aurait déjà rencontré ce problème.
Merci d'avance pour vos réponses.
Ci-dessous mon code :
FileInputStream aFileInputStream = new FileInputStream(aFile);
ObjectInputStream input = new ObjectInputStream(aFileInputStream);
MonTypeObjet ec = (MonTypeObjet) input.readObject();
input.close();
Je rencontre un problème lors de la désérialisation d'objets depuis un fichier "toto.ser", à la lecture l'application plante.
Ce cas se produit uniquement si la taille de ce fichier est conséquente, dans mon cas dès que cela dépasse les 4Mo, c'est un cas qui se produit de temps en temps en fonction des infos sérilaisées.
J'avoue avoir longuement cherché dans les différents forum mais pour l'instant en vain.
Quelqu'un aurait déjà rencontré ce problème.
Merci d'avance pour vos réponses.
Ci-dessous mon code :
FileInputStream aFileInputStream = new FileInputStream(aFile); ObjectInputStream input = new ObjectInputStream(aFileInputStream); MonTypeObjet ec = (MonTypeObjet) input.readObject(); input.close();
As tu une stack trace ou quelque chose d'autres ?
shiraifr
Exception in thread "main" java.lang.OutOfMemoryError
Exception in thread "main" java.lang.OutOfMemoryError
Exception in thread "main" java.lang.OutOfMemoryError
ownowl
Exception in thread "main" java.lang.OutOfMemoryError
c'est pas sur qu'il y ai une fuite, java à surement besoin de pas mal de mémoire pour traiter un paquet d'objet supérieur à 4 MO une fois sérialisé. Par défaut java ne dispose que de 64Mo de mémoire utilisable. Pour pouvoir en utiliser davantage on utilise l'option -Xmx 256M, pour attribuer 256Mo à la machine virtuelle par exemple
Olivier
Exception in thread "main" java.lang.OutOfMemoryError
c'est pas sur qu'il y ai une fuite, java à surement besoin de pas mal de
mémoire pour traiter un paquet d'objet supérieur à 4 MO une fois
sérialisé. Par défaut java ne dispose que de 64Mo de mémoire utilisable.
Pour pouvoir en utiliser davantage on utilise l'option -Xmx 256M, pour
attribuer 256Mo à la machine virtuelle par exemple
Exception in thread "main" java.lang.OutOfMemoryError
c'est pas sur qu'il y ai une fuite, java à surement besoin de pas mal de mémoire pour traiter un paquet d'objet supérieur à 4 MO une fois sérialisé. Par défaut java ne dispose que de 64Mo de mémoire utilisable. Pour pouvoir en utiliser davantage on utilise l'option -Xmx 256M, pour attribuer 256Mo à la machine virtuelle par exemple
Olivier
shiraifr
Bonjour, Merci pour ces réponses, mais je suis déjà à "-Xms64m -Xmx512m". Dois-je augmenter ?
Bonjour,
Merci pour ces réponses, mais je suis déjà à "-Xms64m -Xmx512m".
Dois-je augmenter ?
Bonjour, Merci pour ces réponses, mais je suis déjà à "-Xms64m -Xmx512m". Dois-je augmenter ?
Effectivement, c'est déjà pas mal, mais j'essairai quand même, en regardant si la mémoire retombe à un niveau correcte après le traitement.
Olivier
jlp
a écrit dans le message de news: Bonjour, Merci pour ces réponses, mais je suis déjà à "-Xms64m -Xmx512m". Dois-je augmenter ?
Attention aussi en cas d'utilisation de type List, Array, pour que le gabage collector fasse son travail, il faut que les objets contenus dans la List ( ou dérivé) et la List soit référencés à null...
<shiraifr@yahoo.fr> a écrit dans le message de
news:1144244026.744140.37660@i40g2000cwc.googlegroups.com...
Bonjour,
Merci pour ces réponses, mais je suis déjà à "-Xms64m -Xmx512m".
Dois-je augmenter ?
Attention aussi en cas d'utilisation de type List, Array, pour que le gabage
collector fasse son travail, il faut que les objets contenus dans la List
( ou dérivé) et la List soit référencés à null...
a écrit dans le message de news: Bonjour, Merci pour ces réponses, mais je suis déjà à "-Xms64m -Xmx512m". Dois-je augmenter ?
Attention aussi en cas d'utilisation de type List, Array, pour que le gabage collector fasse son travail, il faut que les objets contenus dans la List ( ou dérivé) et la List soit référencés à null...
TestMan
Bonjour,
Je rencontre un problème lors de la désérialisation d'objets depuis un fichier "toto.ser", à la lecture l'application plante.
Ce cas se produit uniquement si la taille de ce fichier est conséquente, dans mon cas dès que cela dépasse les 4Mo, c'est un cas qui se produit de temps en temps en fonction des infos sérilaisées.
J'avoue avoir longuement cherché dans les différents forum mais pour l'instant en vain.
Quelqu'un aurait déjà rencontré ce problème.
Merci d'avance pour vos réponses.
Ci-dessous mon code :
FileInputStream aFileInputStream = new FileInputStream(aFile); ObjectInputStream input = new ObjectInputStream(aFileInputStream); MonTypeObjet ec = (MonTypeObjet) input.readObject(); input.close();
Passe ton code avec un outil d'analyse ... OptimizeIt, JProbe & companie ...
ça te permettra de préciser s'il y a fuite ou plus simplement utilisation indue.
A+
TM
Bonjour,
Je rencontre un problème lors de la désérialisation d'objets depuis
un fichier "toto.ser", à la lecture l'application plante.
Ce cas se produit uniquement si la taille de ce fichier est
conséquente, dans mon cas dès que cela dépasse les 4Mo, c'est un
cas qui se produit de temps en temps en fonction des infos
sérilaisées.
J'avoue avoir longuement cherché dans les différents forum mais pour
l'instant en vain.
Quelqu'un aurait déjà rencontré ce problème.
Merci d'avance pour vos réponses.
Ci-dessous mon code :
FileInputStream aFileInputStream = new FileInputStream(aFile);
ObjectInputStream input = new ObjectInputStream(aFileInputStream);
MonTypeObjet ec = (MonTypeObjet) input.readObject();
input.close();
Passe ton code avec un outil d'analyse ... OptimizeIt, JProbe & companie ...
ça te permettra de préciser s'il y a fuite ou plus simplement
utilisation indue.
Je rencontre un problème lors de la désérialisation d'objets depuis un fichier "toto.ser", à la lecture l'application plante.
Ce cas se produit uniquement si la taille de ce fichier est conséquente, dans mon cas dès que cela dépasse les 4Mo, c'est un cas qui se produit de temps en temps en fonction des infos sérilaisées.
J'avoue avoir longuement cherché dans les différents forum mais pour l'instant en vain.
Quelqu'un aurait déjà rencontré ce problème.
Merci d'avance pour vos réponses.
Ci-dessous mon code :
FileInputStream aFileInputStream = new FileInputStream(aFile); ObjectInputStream input = new ObjectInputStream(aFileInputStream); MonTypeObjet ec = (MonTypeObjet) input.readObject(); input.close();
Passe ton code avec un outil d'analyse ... OptimizeIt, JProbe & companie ...
ça te permettra de préciser s'il y a fuite ou plus simplement utilisation indue.