IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

[JVM][Tableau] ca travaille bien dans la RAM ?


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Par défaut [JVM][Tableau] ca travaille bien dans la RAM ?
    Salut,
    Petite question qui me trotte dans la tête.
    Quand on rempli un tableau, l'espace de ce tableau est alloué dans la mémoire ? (je crois que oui)

    Je m'explique !
    Quand je fais une requete MySQL, je stock le résultat (ResultSet) dans un tableau (à une dimension pour le moment) afin de fermer la connexion avec MySQL et de travailler ensuite avec le tableau.

    Et la je me suis dit : "bah zut alors ! imaginons que le résultat de ma requete est de 50000 réponses ! ca va nous faire un int tab[50000] !!!"

    C'est pas un peu trop gros pour la RAM ? (si ca travaille bien dans la RAM)

    Du coup je vais penser à un systeme de pagination où à tout les 50 réponses je referais une requete MySQL...

    Merci pour vos précisions
    ++
    ShinJava

    --------------------------------

    Petit débutant deviendra grand... débutant

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Un tableau de 5000 entrées c'est pas forcémment la catastrophe. En effet si tu as du varchar2(8) une straing de longueur 8 en base, au niveau mémoire sa te fait env 8*5000 = 40000 octets, soir 40ko ce ki est ridicule si bien entendu tu n'accumule pas tes données sans penser à les supprimer...

    Tu peu par contre pour éviter les allocations brutales en mémoire la classe Vector ou ArrayList dans un premier temps (c'est un tableau dynamique à une dimension).

    Dans un second temps tu peu par exemple optimiser ta requête (si c'est possible)..

    La pagination est intéressante si c'est pour de l'affichage par page (comme son nom l'indique), par exemple pour la consultation, si c'est pour récupération des données sa ne sers à rien...

  3. #3
    Membre éclairé Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Par défaut
    Salut,
    Merci pour ta réponse.

    Citation Envoyé par thibaut
    Un tableau de 5000 entrées c'est pas forcémment la catastrophe. En effet si tu as du varchar2(8) une straing de longueur 8 en base, au niveau mémoire sa te fait env 8*5000 = 40000 octets, soir 40ko ce ki est ridicule si bien entendu tu n'accumule pas tes données sans penser à les supprimer...
    Donc 50000 entrée ca ferait 400ko... c'est vrai que c'est peu...
    Au final ce que je pensais faire c'est : dès que l'utilisateur ferme sa page internet, le tableau est détruit et du coup la Ram est libérée.

    Citation Envoyé par thibaut
    Tu peu par contre pour éviter les allocations brutales en mémoire la classe Vector ou ArrayList dans un premier temps (c'est un tableau dynamique à une dimension).
    Le problème avec les ArrayList c'est la dimension.
    Un exemple fictif, je veux afficher un tableau de 10 lignes avec 3 colonnes : une colonne pour le nom, une pour le prénom, une pour l'email.
    Dans ce cas, il vaut mieux faire un tableau à 2 dimension je pense.
    Car dans un ArrayList, il faudra faire des bonds de +3 à chaque fois, ca risque pas de nuir à la performance sur un tres tres gros tableau ?
    Et au niveau de la visibilité du code ca doit pas être cool...
    Pour les Vector... j'ai du mal à comprendre leur intéret

    Citation Envoyé par thibaut
    La pagination est intéressante si c'est pour de l'affichage par page (comme son nom l'indique), par exemple pour la consultation, si c'est pour récupération des données sa ne sers à rien...
    C'est justement ca que je veux faire dans une JSP, page par page. Mais j'ai déja commencé à penser à un algorithme pour faire cela, c pas en finition mais je me pencherais dessus quand je serais quel type de tableau je vais utiliser.

    En tout cas, je te remercie pour ces précisions, ca m'aide à voir plus clair.
    ++
    ShinJava

    --------------------------------

    Petit débutant deviendra grand... débutant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 19
    Dernier message: 19/08/2013, 10h43
  2. Réponses: 6
    Dernier message: 03/02/2006, 19h45
  3. Un tableau toujours en haut dans une cellule
    Par Furius dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/12/2005, 12h21
  4. copier un fichier du disque dur dans la ram
    Par orichimaru dans le forum C++
    Réponses: 9
    Dernier message: 29/11/2004, 17h45
  5. Adresse des polices de caractères dans la RAM video ?
    Par Anonymous dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 27/05/2002, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo