begin process at 2010 03 18 12:27:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

StringBuffer OutOfMemory


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

StringBuffer OutOfMemory

jeudi 11 décembre 2008 à 15:01:32 | StringBuffer OutOfMemory

tulesais

Bonjour tout le monde !!!


lorsque j'exécute mon programme me permettant d'insérer un Fichier de 12 mo dans un StringBuffer (ne me demandez pas pourquoi ... c'est comme ca... :-) ), j'obtiens le message : OutOfMemory

StringBuffer strbuff = new StringBuffer();
Boucle :
   strbuff.append(ligne);

JVMDG217: Dump Handler is Processing OutOfMemory - Please Wait.
JVMDG315: JVM Requesting Heap dump file
JVMDG318: Heap dump file written to /heapdump1212550.1229003433.phd
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to /javacore1212550.1229003433.txt
JVMDG274: Dump Handler has Processed OutOfMemory.
JVMST109: Insufficient space in Javaheap to satisfy allocation request
Exception in thread "main" java.lang.OutOfMemoryError
        at java.lang.StringBuffer.append(StringBuffer.java(Compiled Code))
        at EclatSirenU.main(EclatSirenU.java(Compiled Code))


Par contre, la syntaxe suivante fonctionne :

StringBuffer strbuff = new StringBuffer(0);
Boucle :
   strbuff.append(ligne);


Ma question est donc celle ci, pourquoi en initialisant le StringBuffer à 0, le traitement s'effectue bien ???


En espérant que vous aurez une explication à me soumettre ...


Merci d'avance pour votre aide !!!
jeudi 11 décembre 2008 à 15:31:36 | Re : StringBuffer OutOfMemory

dvoraky

Salut,
J'en ai aucune idée mais j'expose simplement une hypothèse :
Une stringBuffer, c'est un sorte de cache qui va permettre de garder en mémoire tampon la string du temps qu'on la manipule, oui?
Donc si tu mets la capacité du StringBuffer à 0, ça veut dire qu'il ne conservera pas en mémoire tampon ta String mais va la traiter directement...
Tu vois ce que je veux dire?
Je ne sais pas, c'est juste une hypothèse à faire confirmer ou infirmer par quelqu'un de plus compétent que moi


 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
jeudi 11 décembre 2008 à 15:58:03 | Re : StringBuffer OutOfMemory

tulesais

salut dvoraky !

je vois très bien ce que tu veux dire ... ca parait plausible ...

On reste sur ca en attendant qu'un pro du StringBuffer nous en dise plus !


En tout cas Merci pour ta réponse !

jeudi 11 décembre 2008 à 16:02:20 | Re : StringBuffer OutOfMemory

dvoraky

Ouais, si un M. StringBuffer pouvait passer par là, ça serait fort gentil de nous éclairer parce que bon...

Et au fait tulesais, t'abuses un peu quand même, mettre 12Mo dans un StringBuffer... Quand même!


 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
jeudi 11 décembre 2008 à 21:39:43 | Re : StringBuffer OutOfMemory

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

tu peux toujours changer les options de la jvm au lancement de ton ton app, soit les param -Xms -Xmx :
(source ICI)
-Xmsn
Specify the initial size, in bytes, of the memory allocation pool. This value must be a multiple of 1024 greater than 1MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 2MB. Examples:
       -Xms6291456
-Xms6144k
-Xms6m

-Xmxn
Specify the maximum size, in bytes, of the memory allocation pool. This value must a multiple of 1024 greater than 2MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 64MB. Examples:
       -Xmx83886080
-Xmx81920k
-Xmx80m
Si rien n'y fait affiche le(s) code(s) que l'on optimise (si possible) ce que tu fais.

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
vendredi 12 décembre 2008 à 07:58:58 | Re : StringBuffer OutOfMemory

tulesais

Merci beaucoup Twinuts mais je ne veux pas toucher au code qui fonctionne très bien :
StringBuffer strbuff = new StringBuffer(0);

je souhaitais seulement savoir pourquoi cette initialisation fonctionne alors que
StringBuffer strbuff = new StringBuffer();
tombe en OutOfMemory


Merci quand même !!!


Cette discussion est classée dans : java, dump, stringbuffer, outofmemory, strbuff


Répondre à ce message

Sujets en rapport avec ce message

Java StringBuffer [ par guism0 ] HelpppppppppppppppppppppppppppJessais de faire un battleShip ou plus-tot une battaille navale mais a une dimension sur 70 case.Je veut savoir comment questions de java... [ par uttu ] je suis vraiment desesperé.... aidez-moi!! SVP!!!Question 1.a) Comment se passe le multithread sur un ordinateur à un processeur ?b) Quelles sont les questions diverses... [ par uttu ] aidez-moi svp!!!Question 1.a) Comment se passe le multithread sur un ordinateur à un processeur ?b) Quelles sont les deux principales manreres pennett Graphisme avec java [ par tamieu ] Quelqu'un sait-il comment on fait pour afficher un jpeg en "fond d'applet", sachant que le foreground de l'applet sera constité de dessins fais par l' Ouvrir un fichier HTML depuis une fenêtre JAVA [ par foudejava ] Bonjour,j'aimerai savoir s'il est possible d'ouvrir un fichier HTML se trouvant sur mon disque dur depuis une fenêtre java.J'aimerai qu'un de mes JBut Applet Java Pour MacOs [ par matlatecnik ] Salut a tous et a toutes, bon voila, avec une bande de potos on a créer un site regroupant plusieur salon Irc mais le soucy c que pas mal de personne Comment céer un applet java [ par TourneviXx ] Bonjour,Je suis nouveau dans le java et j'aimerai mettre au point mon propre applet java, g entendu dire certaines comme par exemple kil fo compiler l Upload en java pour servlet [ par titzgreg ] Hello,Je suis en train de faire un prog qui nécessite l'upload de fichiers sur le serveur. L'appli client est le browser et le serveur est une servlet Configuration: java.library.path [ par zebulaon ] Bonjour,Si qqn pourrait m'indiquer comment on configure la variable d'envirronement afin que le java.library.path soit correct??Quel nom?, comment...M compilation java [ par verbeyst ] Lorsque j'essaie de compiler et de lancer mes programmes java via la ligne de commande DOS"java nomclasse.java" et "java nomclasse", je reçois un mess


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,153 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales