begin process at 2012 02 14 23:23:01
  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 java.lang.OutOfMemoryError: Java heap space [ par sondos01 ] Salut, J'obtiens l'erreur de Java heap size et j'ai cru comprendre que c'est un problème de mémoire. Ca arrive à la ligne ListOfNodes.addLast(NodeToA Renvoyer un int à partir d'un calcul dans un String [ par jm2lrepresent ] Tout d'abord, bonjour à tous! J'ai un petit problème que vous, ô grands java masters, pourrez sûrement résoudre! [^^happy17] Dans le cadre d'un proje java.lang.NoSuchMethodError: setRoutingOption [ par rimeluss ] Bonjour, SVP,pouvez m'indiquer la solution pour cette exception? Exception in thread "main" java.lang.NoSuchMethodError: setRoutingOption at jpcap.Jp Erreur java.lang.NoClassDefFoundError: applet [ par isil4 ] Bonjour, je sais que la questions a deja été posée, mais j'ai esseyé tout ce qu'il y avait dans les forums, rien ne marche: l'applet n'est pas reco tableau qui contient plusieurs tableaux avec java [ par marwen87 ] s.v.p je veut faire un structure de tableau qui permet de contient des tableaux ex t=new int[5]; t est un tableau qui contient des entier je veux qu 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 [Java] Données des valeurs des cellules d'une ligne [Tableau] [ par sarahjtm ] Bonjour , Je vous explique mon problème - Dans mon onglet "Historique", j'ai un tableau avec 3 colonnes. - J'arrive à afficher la valeur de la cellul


Nos sponsors


Sondage...

Comparez les prix

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,889 sec (4)

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