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 :

Taille max pour un String


Sujet :

Langage Java

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    244
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 244
    Points : 110
    Points
    110
    Par défaut Taille max pour un String
    J'ai besoin de parcourir un fichier et de detecter des chaines de caractères. J'ai donc pensé mettre le contenu de ce fichier dans une variable String. Mais quelle est la capacité max d'un String car je risque d'avoir des fichier relativement long (50 pages de .doc par exemple).
    a+

  2. #2
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    reponse courte: non aucune limite
    reponse normale ca depend du VM HEAP SIZE que tu peut changer en fesant -Xmx256m

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    244
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 244
    Points : 110
    Points
    110
    Par défaut
    ok merci beeaucoup pour m'avoir répondu si vite

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut
    Ecore mieux et plus pratique:
    Lis ton fichier ligne par ligne et effectue ta recherche sur chaque ligne
    Plus de problème de longueur de chaine comme ca....

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par bbclone
    reponse normale ca depend du VM HEAP SIZE que tu peut changer en fesant -Xmx256m
    En fait il y a deux limites :
    • Le maximum heap size qui correspond à la mémoire disponible,
    • Et la taille maximum des tableaux en Java (puisque les String comporte un tableau de char), qui est de Integer.MAX_VALUE soit 2 147 483 647 (ce qui représente plus de 4Go puisque les char sont codé sur 2 octets)...
    Mais cela laisse quand même de la marge...

    a++

  6. #6
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    oui c'est juste :-))
    j'ai voulu verifier lequelle on arrive en premier.
    le heap size ou les Integer.MAX_VALUE

    et la reponse avec 1Go

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    bebe@alkouddous:~/IdeaProjects/others/classes$ java -Xmx1024m MaxStringLengthTest
     
    1000000
    2000000
    3000000
    4000000
    5000000
    ....
    190000000
    191000000
    192000000
    193000000
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

    mon ordinateur ne repondais presque plus alors que je suis sous linux
    je me demande comment windows reagirait

    quelqu'un veut bien tester?
    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
     
    /**
     * Created by IntelliJ IDEA.
     * User: bebe
     * Date: 15-Jun-2006
     * Time: 12:19:40
     * To change this template use File | Settings | File Templates.
     */
    public class MaxStringLengthTest {
     
        public static void main(String[] args) {
           StringBuffer sb = new StringBuffer();
            while (true) {
                sb.append("a");
                if((sb.length() % 1000000) == 0) {
                    System.out.println(sb.toString().length());
                }
            }
        }
    }

  7. #7
    Nouveau membre du Club

    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 36
    Points : 29
    Points
    29
    Par défaut
    Sous Windows, en Xmx1024m, mon PC a stagné un moment sur 150 000 000 puis a repris jusqu'à 310 000 000 où il a stagné un plus long moment... et j'ai arrété car je n'avais plus le temps d'attendre, il ramait pas mal quand même. Mais je réessayerais plus tard volontié...

  8. #8
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    244
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 244
    Points : 110
    Points
    110
    Par défaut
    Hmmm, c bon alors, je ne devrais pas être limité par l'espace Par contre g une autre question concernat la fonction readLine(). Comment détecte t-elle la fin du ligne car sous word, je n'ai que le caractère 0x0D (il y a pas le 0x0A)?
    Donc va t-il détecter la fin de ma ligne?
    merci bocoup

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par arasium
    Comment détecte t-elle la fin du ligne car sous word, je n'ai que le caractère 0x0D (il y a pas le 0x0A)?
    Heu... Word utilise un format propriétaire. Je ne pense pas que cela soit lisible directement via un InputStream. Tu dois utiliser des API spécifique pour cela...

    a++

  10. #10
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    > Mais je réessayerais plus tard volontié
    j'ai relancer hier en avec 4096 (j'ai pas 4Go de ram mais j'ai mis 8Go de swap)
    il a tourner jusque 383000000 et je l'ai retrouver ce matin pas planter mais je savais plus rien faire sur l'ordinateur a part redemarrer.

    je croit qu'avant d'arriver a 1.2 milliard de caractere on a le temp :-))

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

Discussions similaires

  1. taille Max de string dans un tableau
    Par maxos75 dans le forum ASP
    Réponses: 3
    Dernier message: 01/08/2008, 20h31
  2. [SSIS][2k5]Quelle taille max pour fichier plat ?
    Par magicsam dans le forum SSIS
    Réponses: 4
    Dernier message: 11/02/2008, 15h08
  3. [DotNET 1.1] Taille Max d'une chaîne d'un string
    Par trihanhcie dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 23/10/2007, 15h59
  4. Réponses: 0
    Dernier message: 21/08/2007, 15h44
  5. [Stratégie] taille de tableau max pour alleger les ressources systemes
    Par ceres02 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 24/02/2006, 19h06

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