begin process at 2010 02 10 01:14:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Algorithme

 > 

Autre

 > 

Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit


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

Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit

vendredi 3 juillet 2009 à 12:07:19 | Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit

heavenboy

Bonjour,
voici mon problème.
Pour effectuer un traitement sur une image, j'ai besoin de récupérer l'ensemble des pixels. Je crée donc un tableau :
  int[] pix= new int[largeurImageSrc * hateurImageSrc];
Le problème est que pour des images trop grande le produit de sa hauteur par sa largeur créer un indice trop important. D'où le message d'erreur :
java.lang.OutOfMemoryError: Requested array size exceeds VM limit.

J'ai lu que ceci signifie que l'application tente d'allouer un tableau plus grand que la taille du heap.

Est-ce que quelqu'un peut m'expliquer comment augmenter la taille du heap (si possible) afin de créer un tableau d'entier plus grand. Ou bien quelqu'un a-t-il une autre solution à proposer à cela ?

J'ajoute qu'il est crucial que le tableau reste un entier.

Merci beaucoup
vendredi 3 juillet 2009 à 12:22:23 | Re : Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit

kirua12

Réponse acceptée !
Salut,

tu peux définir la taille max avec l'option -Xmx au lancement de la jvm
java -Xmx512M maClasseMain (jvm de 512M max)

Après ce ne sera peut être pas suffisant si ton tableau est vraiment très grand


vendredi 3 juillet 2009 à 13:47:18 | Re : Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit

heavenboy

Réponse acceptée !
Salut
merci beaucoup pour ta réponse.
Perso, je travaille sous eclipse, j'ai ajouté cette option dans parametre -VM.
Merci.
vendredi 3 juillet 2009 à 14:56:48 | Re : Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit

heavenboy

Salut
grâce à ta réponse sa fonctionne superbement. J'ai mis -Xm2048M. Et je peux faire ainsi un tableau de 477199999 cases. On dira que c'est suffisant.
Merci.
Juste une question pratique. J'ai remarqué que la mémoire vive augmentait énormément lors de la création de ce tableau de 477199999 cases. Elle monte à 2,5 GO puis redescend une fois le tableau créé. Il n'y a aucun risque pour le pc de mettre -Xm2048M plutôt que -Xm512M ?

merci, beaucoup!
vendredi 3 juillet 2009 à 16:11:50 | Re : Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit

kirua12

Réponse acceptée !
non, aucun risque, tu définis juste la taille mémoire max autorisée pour la JVM. Tu ne peux pas mettre une valeur plus grande que ta mémoire physique totale.
C'est normal que la mémoire augmente, avec ton tableau, tu alloues une grande zone mémoire et quand tu le détruis, le garbage collector fait le ménage et la mémoire utilisée décroit


vendredi 3 juillet 2009 à 18:45:56 | Re : Tableau : java.lang.OutOfMemoryError: Requested array size exceeds VM limit

heavenboy

En tout cas merci beaucoup pour ton aide très précieuse


Cette discussion est classée dans : java, tableau, lang, outofmemoryerror, requested


Répondre à ce message

Sujets en rapport avec ce message

probleme de java.lang.OutOfMemoryError [ par gaga38 ] salut à tous,je fais une interface internet explorer pour une interrogation de base de données, donc j'utilise un JSP pour l'interface et une servlet java.lang.OutOfMemoryError [ par biboobib ] slt tous le monde... comme le titre l'indique, j'ai récu cette exception l'or d'execution de mon application swing!!tout marche bien et tout a coup j' hibernate problem java.lang.OutOfMemoryError: PermGen space [ par batmanhat ] bonjour a tous,je suis nouveau dans le monde d'hibernate j ai fait une petite application pour teste le framework en accédant a une base de donne post classpath [ par filemro3b ] bonjour tout le monde je suis newbie au java et j aimerai bien que vous m'aidiez concernant ce ci :j ai compilé et exécuté avec succès un simple progr Help java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter [ par lounkokobi270987 ] boujour j'ai une erreur assez frustrante lorsque je démare mon programme java packagé : !SESSION Tue Jan 26 14:56:16 CET 2010 ---------------------- récuperer un tableau html en java [ par asle ] [code=java]salut, J'ai un probleme avec java html parser. J'ai un programme qui recupere tous le code html dans un fichier texte. Moi je veux recupe erreur [ par sisisousou ] bonjour :p c'est ma premiere journé avec l'applet et g eu une erreur que g pas comprit voila java.lang.ClassFormatError: Incompatible magic value 10 Créer un tableau en Java [ par pyrrah ] Bonjour, Bon, je sais, j'ai honte. Pis Java, ça me gave mais j'ai pas le choix :D Je souhaiterais créer un tableau de la façon suivante : 4 colonnes java.lang.ClassNotFoundException: visio2.class [ par henry006 ] Bonjour à tous. Désolé de m'inscrire ici alors que j'y connais rien en développement, (je suis dessinateur sur Autocad et Archicad,et même le VBA me f exécuter application java sous console ubuntu [ par sisi85 ] bonsoir, je m'excuse pour le dérangemet mais j'ai besoin de votre aide. je travaille en java sous l'eclipse sous ubuntu. mon application s'xécute nor


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,484 sec (3)

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