begin process at 2012 02 11 13:13:50
  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 Déclaration de String en JAVA [ par javazer ] Salut! Je veux déclarer une chaine de caractères de longueur 10 commençant par la lettre 'A' public StringBuffer chaine=new StringBuffer(10); chaine. algorithme de chainage arriere en java [ par chavani ] bonjour les amis svp si quelqu'un peut m'aidé a relaiseé l'algorithme de chainage arriere en java merci d'avence definir la dimension d'un jbutton dans java [ par langagec08 ] Bonsoir tout le monde, j'aimerai savoir comment peut on dimensionner un Jbutton en java sachant que j'utilise le GridLayout pour positionner mes éléme problemes avec mises a jour java [ par titemomo84 ] J'ai un probleme lorsque je met a jour java je ne peux plus accéder a aucun jeu par exemple jeux yahoo j'ai la page noire J'ai desinstallé l'ancienne comparaison de visages en java [ par kalghoumanwar ] je travaille en ce moment sur de la collecte de données visuelles et je cherche à implémenter un code de comparaison de visages en java Equivalent de crystal report sous java [ par ramy04804001 ] Bonjour, j'aimerais bien savoir un outils qui peut m'aider a faire des imprimes sous Eclipse (l'équivalent de Crystal report sous .net) Merci. Projet Java [ par georgesrachid ] Bonjour je suis tout nouveau en Java et je tentes de faire une application de gestion des equipements energetiques,j'ai deja fait le cahier des charge scan port switch avec snmp en java [ par atouihichem ] salut à tous, je cherche comment faire pour scanner un switch avec snmp et comment utiliser le requete snmp dans mon code aide chat java [ par mamou91 ] mes amis j'ai besoin de vous ; j'ai besoin de code source java de chat client serveur multhithreding après la connection e serveur peut connecter avec


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 0,359 sec (4)

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