Bonjour,

Je développe actuellement une application en Java récupérant le contenu précis d'une page HTML.
Cela se fait en plusieurs étapes :
  • Je récupère un id dans une page
  • Je charge une deuxième page avec cette id
  • Je récupère mon contenu voulu, dans cette deuxième page
  • Je retourne dans mon programme principal
  • J'écris les informations que j'ai collecté dans la page HTML, dans un fichier txt
  • Et je repars pour un autre id


Il se trouve que j'ai besoin de faire, environ, 83 000 fois cet "algo".
Et, peut-être que vous vous en doutez, j'ai eu le droit à un gc overhead limit

Je cherche donc à simplifier mon code notamment au niveau de la déclaration de mes variables.

A ce propos, qu'elle est la méthode la plus "éco" entre ces deux propositions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
String maString = "http://monsite.com/...";
/* Traitement avec la string */
 
     for(...){
           maString = "http://monsite.com/...";
           /* Traitement avec la nouvelle string */
     }
&

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
String maString = "http://monsite.com/...";
/* Traitement avec la string */
maString = null;
     for(...){
           new maStringBis = "http://monsite.com/...";
           /* Traitement avec la nouvelle string */
     }
Y'a-t-il d'autres pistes pour éviter le gc overhead limit sachant que je n'opterais pas pour l'augmentation de la mémoire allouée car j'obtiens le gc overhead limit bien avant avoir fait la moitié du traitement (et même le quart) donc ça ne servirai à rien.

Merci d'avance pour vos réponses.