Question

Lors du traitement de la feuille SAO avec une API JOPENDOC, obtenez-vous de l'espace pour le tas de java.La feuille de traitement contient 6000 enregistrements.Selon JProfiler, la consommation d'espace mémoire devenant plus si les enregistrements sont plus.Comment se débarrasser de cette erreur sans augmenter la taille de la JVM avec des arguments -x.Voici mon code Java qui cause une certaine mémoire.

SpreadSheet spreadSheet=SpreadSheet.createFromFile(new File("document.ods")); //memory-35 MB
Sheet sheet1=spreadSheet.getSheet(1); // consumed memory - 47 MB
Sheet sheet2=spreadSheet.getSheet(2); // consumed memory - 59 MB
Sheet sheet3=spreadSheet.getSheet(3); // outofmemory error since the default size is 64 MB

Était-ce utile?

La solution

Vous devez augmenter la mémoire avec -xmx ou réduire votre utilisation de la mémoire.Par exemple, avez-vous besoin de 3 feuilles chargées à la fois?Sinon, libérez-la de la référence (E.G. feuille1= null) et le collecteur des ordures s'en occupera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top