Erreur java heap size

damien soissons Messages postés 11 Date d'inscription jeudi 28 avril 2005 Statut Membre Dernière intervention 4 juillet 2005 - 11 mai 2005 à 17:39
Syruis Messages postés 181 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 28 avril 2009 - 1 juil. 2005 à 15:26
Bonjour,



Je suis en train de programmé un viewer en java, et j'ai deux petit problemes

- des que j'ouvre une image l'utilisation de la memoire monte a 25 - 30 Mo

(ma fonction d'ouverture est a la fin du message)





Elle fonctionne tres bien mais, elle necessite 25Mo d'espce ....



Et donc lorsque je veut ouvrir une seconde image ( que je veut affiché dans le meme frame),



cette exeption ressort : java.lang.OutOfMemoryError: Java heap space


Alors si qqun peut m'expliqué comment augmenté la heap de java ....;





Merci beaucoup





//////////////////////ouverture//////////////////////

public boolean chargeImage(){





dcm1 = new ImagePlus();



JFileChooser fc = null;

try {fc = new JFileChooser();}

catch (Throwable e) {IJ.error("This plugin requires Java 2 or Swing."); return false;}

fc.setMultiSelectionEnabled(true);

if (dir==null) {

String sdir = OpenDialog.getDefaultDirectory();

if (sdir!=null)

dir = new File(sdir);

}

if (dir!=null)

fc.setCurrentDirectory(dir);

int returnVal = fc.showOpenDialog(IJ.getInstance());

if (returnVal!=JFileChooser.APPROVE_OPTION)

return false;

File[] files = fc.getSelectedFiles();

if (files.length==0) { // getSelectedFiles does not work on some JVMs

files = new File[1];

files[0] = fc.getSelectedFile();

}

path = fc.getCurrentDirectory().getPath()+Prefs.getFileSeparator();

dir = fc.getCurrentDirectory();

Opener opener = new Opener();

for (int i=0; i<files.length; i++) {

ImagePlus img = opener.openImage(path, files[i].getName());

if (img!=null)

//img.show();

dcm1 = img;

//repaint();

}

return true;



}

7 réponses

dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
12 mai 2005 à 08:52
pour augmenter ton heap size (memoire dispo pour la jvm0 tu passes comme argument a ta jvm la taille du heap max desire, exemple

java -Xmx256m MaClass

Tu defini ici un heap max de 256Mo.

Qt a ta fonction d'ouverture, n'ayant pas le code de ton opener, on peut pas dire,

la taille bouffee depend de la taille de ton image,

mais 25Mo, ton image doit etre grosse...

-------------------
dams
-------------------
0
Syruis Messages postés 181 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 28 avril 2009
1 juil. 2005 à 14:50
bonjour,



vous savez si il est possible plutot que de faire
"java -Xmx256m MaClass" de la modifier dans la class???



Merci d'avance!

Syruis :)

http://forum.musique.free.fr

le secret de la vie n'est pas de faire ce que l'on aime mais d'aimer ce que l'on fait ....
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
1 juil. 2005 à 14:52
Regarde dans System.getEnv(), System.setEnv()

-------------------
dams
-------------------
0
Syruis Messages postés 181 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 28 avril 2009
1 juil. 2005 à 15:10
Excuse moi mais le rapport avec les variables d'environnement?

Syruis :)

http://forum.musique.free.fr

le secret de la vie n'est pas de faire ce que l'on aime mais d'aimer ce que l'on fait ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Syruis Messages postés 181 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 28 avril 2009
1 juil. 2005 à 15:12
d'ailleurs si System.getEnv() existe ne n'est pas le cas de System.setEnv() ...



Tu veut dire qui y a moyen de mettre -Xmx256m en variable d'environnement?

Syruis :)

http://forum.musique.free.fr

le secret de la vie n'est pas de faire ce que l'on aime mais d'aimer ce que l'on fait ....
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
1 juil. 2005 à 15:23
Dsl, j'avais lu trop vite ton premier post,

a ma connaissance, tu ne peux pas

-------------------
dams
-------------------
0
Syruis Messages postés 181 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 28 avril 2009
1 juil. 2005 à 15:26
j'ai trouvé ca:



http://www.objectdomain.com/support/tech-resource-issue2.do



mais je vois pas comment faire ca ...lax.nl.java.option.java.heap.size.initial=30000000 ;...



reste MemoryMXBean() qui ne permet que de voir...



Ca veut dire que pour une applet tu peut pas alouer de la mémoire comme
du veut ? c naze j'ai une application client lourde et je peut pas
faire autrement!!!



Cordialement,
Syruis :)

http://forum.musique.free.fr

le secret de la vie n'est pas de faire ce que l'on aime mais d'aimer ce que l'on fait ....
0
Rejoignez-nous