Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2827 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [resolu] List et explosion de la conso mémoire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] List et explosion de la conso mémoire

n°1766756
kouby
Posté le 30-07-2008 à 15:01:16  profilanswer
 

Bonjour,  
(contexte : linux 2.6, java 1.6, eclipse 3.4)
Je suis en train de faire un package (dans le cadre d'un plugin eclipse) censé reproduire avec plus ou moins de fidélité un ensemble de structures C, lue via des fonctions natives JNI.
A la grosse louche, les structures C occupent 400Mo en mémoire. Cependant en Java, je me prend du outofmemory (>2Go) ...
Les structures C étant principalement des listes chainées (struct blabla { typeX x; ... ; struct blabla* next;}; ), j'ai choisi de représenter ces listes par des List<BlablaClass>. J'ai donc évité d'utiliser des tableaux, et l'implémentation des List que j'utilise est Vector.
Y a-t-il des précautions à prendre quand on veut représenter en java une structure C? (le truc con à savoir et que je sais pas)
Serait-il plus avisé d'utiliser une autre implémentation de List que Vector? (en terme de consommation mémoire)
Est-ce que la consommation mémoire n'a rien à voir avec les liste?
Si oui, d'où vient cette consommation de mémoire astronomique?
merci d'avance :)


Message édité par kouby le 31-07-2008 à 14:36:59

---------------
)><(((((°>
mood
Publicité
Posté le 30-07-2008 à 15:01:16  profilanswer
 

n°1767024
el muchach​o
Comfortably Numb
Posté le 30-07-2008 à 22:17:34  profilanswer
 

Oui, Vector est un très mauvais choix dans ton cas parce que la mémoire se doit d'être contigüe. Idem pour ArrayList. Prends LinkedList. Et vérifie la consommation mémoire d'une seule structure pour savoir combien le total va te coûter.


Message édité par el muchacho le 30-07-2008 à 22:24:53

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1767296
kouby
Posté le 31-07-2008 à 14:36:29  profilanswer
 

Merci pour la précision, ces listes me paraissent en effet plus adaptées.
Cependant ce n'était pas la cause de "l'explosion" de ma memoire.
Le problème venait d'une fonction copy() qui faisait n'importe quoi X(


---------------
)><(((((°>
n°1767485
Taz
bisounours-codeur
Posté le 31-07-2008 à 20:46:36  profilanswer
 

kouby a écrit :

Merci pour la précision, ces listes me paraissent en effet plus adaptées.
Cependant ce n'était pas la cause de "l'explosion" de ma memoire.
Le problème venait d'une fonction copy() qui faisait n'importe quoi X(


les listes ça bouffe plus de mémoire, vu que t'as deux références par maillon en plus. a voir selon ton usage.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [resolu] List et explosion de la conso mémoire

 

Sujets relatifs
[Résolu]Probleme Surlignement ligne avec JavascriptCPU/Memoire/Handles...
[Résolu] problème background-repeat[résolu] waitFor() qui reste bloqué...
[Résolu] Excel - Prendre les X plus proche d'un nombreErreur List<String[]> et validation du code dans une JSP ?
[C] [Résolu] Correspondance entre un pointeur et un "vrai" tableau[Résolu] [javascript] [firefox] .innerhtml = tronqué
[RESOLU] Open Office Basic : Problème for each 
Plus de sujets relatifs à : [resolu] List et explosion de la conso mémoire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR