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

Langage Java Discussion :

[Optimisation de code] CLOB To String en série


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut [Optimisation de code] CLOB To String en série
    Bonjour a tous !

    J'ai un petit problème d'optimisation de code sur une de mes procédures...
    En gros, elle est appelée sensiblement 20 000 fois, prend un CLOB en entrée et fait ressortir un String via la technique donnée dans la FAQ (BufferedReader).

    Toutefois, le nombre d'instance de BufferedReader (je suppose) implique un bel OutOfMemory lors de l'execution de mon main...

    Avez vous une solution pour remédier à ce problème ?

    Voici le code de la procédure :

    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
    public static String clobToString(Clob clob){
         String contenu = "";
         try {
              clobReader = new BufferedReader(clob.getCharacterStream());
              String ligne=null;
              while((ligne= clobReader.readLine()) != null){
                   contenu+=ligne;
              }
              clobReader.close();
         } catch (IOException e) {
              e.printStackTrace();
         } catch (SQLException e) {
              e.printStackTrace();
         }
         return contenu;
    }
    Merci d'avance pour votre aide

  2. #2
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Déjà emploie un StringBuffer (ou un StringBuilder si tu n'est pas em multithread) pour ta variable contenu.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    En fait, j'ai depuis trouvé une solution plus simple en une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clob.getSubString(1,clob.lentgh())
    proposée par SUN justement mais bon, j'ai toujours mon problème d'OutofMemory ... je vais profilé pour voir où je pourrai trouver une fuite mémoire...

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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