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

AWT/Swing Java Discussion :

pb memoire et performence swing netbeans


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut pb memoire et performence swing netbeans
    J aimerai savoir comment on peut ameliorer la performence dune applcation swing car la jai dev un outil d import export utilsant des resulsate sql...sous eclipse l excecution me prend 5 min et la sous netbeans (que j ai prefereee pour l interface) ca mets beaucouop trop de temps a se lancer....20 min environ ...
    Et de surcroit ca plante avec un probleme memoire ci dessous...
    SVP aidez moi........?

    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     
    compiling 1 source file to C:\Documents and Settings\tinissi.agbobloua\KTPTools\build\classes
    compile-single:
    run-single:
    Connection en cours...
    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
            at java.util.Arrays.copyOf(Arrays.java:2882)
            at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
            at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:572)
            at java.lang.StringBuilder.append(StringBuilder.java:203)
            at ktptools.Parsing.lineQueue(Parsing.java:102)
            at ktptools.Parsing.createTablechampsconcater(Parsing.java:274)
            at ktptools.JdbcCheckup.export(JdbcCheckup.java:337)
            at ktptools.ktpInterface.jButtonExportActionPerformed(ktpInterface.java:1005)
            at ktptools.ktpInterface.access$500(ktpInterface.java:25)
            at ktptools.ktpInterface$6.actionPerformed(ktpInterface.java:214)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
     
     
           at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
            at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
            at java.awt.image.Raster.createPackedRaster(Raster.java:458)
            at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
            at sun.awt.image.SunVolatileImage.getBackupImage(SunVolatileImage.java:214)
            at sun.awt.image.VolatileSurfaceManager.getBackupSurface(VolatileSurfaceManager.java:247)
            at sun.awt.image.VolatileSurfaceManager.initialize(VolatileSurfaceManager.java:103)
            at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:66)
            at sun.awt.image.SunVolatileImage.<init>(SunVolatileImage.java:95)
            at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:284)
            at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(GraphicsConfiguration.java:185)
            at javax.swing.RepaintManager.getVolatileOffscreenBuffer(RepaintManager.java:919)
            at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1298)
            at javax.swing.RepaintManager.paint(RepaintManager.java:1128)
            at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
            at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
            at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:723)
            at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:679)
            at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:659)
            at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

  2. #2
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Pour le problème de mémoire surement que eclipse et netbeans n'alloue pas la meme mémoire .. ca pourrais expliqué le problème de temps aussi mais la je ne suis pas sure ...

    Par contre si niveau interface tu parle interface de ton programme moi je crée avec netbeans mais je programme tout le reste sous eclipse c'est pas un problème ^^!

    mais tu doit vraiment manipulé de grosse donnée pour faire exploser la memoire avec des ResultSet !!!! (et pour la vitesse à tu pensé aux index sur ta base ?)

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    Ben en fait je code sous eclipse et apres je copie colle le code sous eclipse pour l integrer sous netbens...mais que veut tu dire par le fait qu ils alloue pas la meme memoire? qund je lance l application ben ecplise est pas ouvert...ou alors tu veux dire allocation memoire minimal a eclipse et netbeaans?

    Ben je manipue des table ayant plus de 300 chamnps...et y a pas malk de table environ 100 voir plus ca depend des requete.....
    Et puis ben la table est standarise...donc je sais pas si les index soint creet automaiquement ou pas...en effete ca pourrai accelerer les traitement non?

    Par contre avec swing comment tu desalloue la memoire garbage colector?gc? dispose()? ce n est pas automatise?

    Merci de ton aide

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Faudrait qu'on en sache plus sur ton application.
    Est-ce que tu ne charges pas trop de données en même temps, trop de requêtes vers la base ?
    Si tes requêtes renvoient trop de données, tu pourrais peut-être limiter le nombre de lignes retournées et rappeler à la demande tes requêtes pour avoir les lignes suivantes.

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    Ben j ai creer deux resulstatement un pour faire des insertion et l autre pour faire des update qui sont les deux formater....donc a chaque requete un seul resultstatement est traite et ferme....
    a la fin...le fait de les fermer libere la memoire non? ou je dois la liberer explicitement?
    Voici un bout du code....ou rset est le resultstyatement creer pluis haut a partir d un statement qui lui decoull d une connection a la base de donnee..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     try
           {
    while (rset.next()|| rset.isBeforeFirst())
                        {
    ......
    traitemnt des resulstatement.....
     }
     
              DatabaseMetaData dmd = conn.getMetaData();
     
            //récupération des informations
              String nomBase = dmd.getDatabaseProductName();
              String versionBase = dmd.getDatabaseProductVersion();
     
            //affichage des informations de la database
              System.out.println("Nom de la base = "+nomBase);
                 System.out.println("Version de la base = "+versionBase);
     
              System.out.println("Your JDBC installation is correct.");
     
           }
     
           catch(SQLException  e)
           {
               System.out.println("Erreur : "+e.getMessage());
           }
     
          /* finally
           {
               System.out.println("Bloc Finally\n");
     
           }*/
     
       createImportationFile();
       //Fermeture des result Statement
       this.rset.close();
     
       //this.rset_update.close();
     
       }

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Tes selects te renvoient combien de lignes ?

Discussions similaires

  1. [Swing/Netbeans] Problème pour organiser l'interface
    Par ggvert dans le forum Débuter
    Réponses: 2
    Dernier message: 27/05/2010, 23h29
  2. Performance de Netbeans
    Par david71 dans le forum NetBeans
    Réponses: 2
    Dernier message: 15/04/2010, 00h56
  3. [Performance Swing] Deplacement de JInternalFrame très lent
    Par Widiwi dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 12/02/2009, 00h38
  4. Interface Graphique swing + netbeans
    Par bouillet dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 09/05/2008, 12h54
  5. Pbl Import de projet Swing Netbeans vers Eclipse
    Par olivier.clain dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 09/05/2006, 08h31

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