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 :

Passer la barriere des 65535 octet


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut Passer la barriere des 65535 octet
    Bonjour, voila j'ai un gros problème, j'ai fait un gros programme, mais quand je veux le compiler ben j'ai cette erreur :

    "Le code de la méthode main(String[]) dépasse la limite de 65535 octets"

    Comment peut t'on surpasser cette limite merci d'avance.

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, je viens de chercher quelques infos à propos de cette erreur (tu trouveras plusieurs sujets en anglais).
    Apparemment un .class ne peut dépasser 65535 octets, une solution serait de diviser ton code en plusieurs classes.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    Comment faire pour diviser mon code!!!
    Car je cherche pour faire ca mes je n'arrive pas.

    Encore merci pour ta réponse

  4. #4
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Ca serait pas mieux de se la jouer objet et créer plusieurs classes plus petites ?
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  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 morph41 Voir le message
    Apparemment un .class ne peut dépasser 65535 octets, une solution serait de diviser ton code en plusieurs classes.
    La limite est pour les méthodes et non pas les classes !

    @usbfoot62 > Tu as une méthode de 65 Ko
    Par curiosité elle fait quoi ?

    a++

  6. #6
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    oui quitte à faire du java...
    tu dépasse de beaucoup la taille limite ?
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  7. #7
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    La limite est pour les méthodes et non pas les classes !
    Autant pour moi...je ne connaissais pas cette limite avant de voir ce sujet.

    Par contre la solution est la même, faire de la programmation objet.

    Le mieu serait d'expliquer ce que fait cett méthode main. (ou de la montrer si ce n'est pas trop long)

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    Ben en fait , je regarde si les case d'un tableau de 18 par 22 sont vide ou pas.

    depuis que j'ai rajouté ce code ben j'ai l'erreur.

    Voiçi un bout de mon code. Encore merci!!!!
    Fichiers attachés Fichiers attachés

  9. #9
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut

    tu ne connais pas les boucles for ??
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    si mais je peut pas car je dois vérifier toutes les possiblités.
    Par exemple, si ya rien a 8h et que la durée dure 4h, ben ma matrice doit prendre matrice[0][0] jusque matrice [0][3]

    Et ca ben pour les 18 lignes de mon tableau avec 22 colonnes de possibilité.


    Si tu vois quelque chose a faire je suis preneur!!!!!!!!!!

  11. #11
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    ben je vois quelque chose oui ... des FOR !!
    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (Résultat.getString("et_duree").equals("05:00:00")){
    matrice[0][1]=1;
    matrice[0][2]=1;
    matrice[0][3]=1;
    matrice[0][4]=1;
    matrice[0][5]=1;
    matrice[0][6]=1;											matrice[0][7]=1;
    matrice[0][8]=1;
    matrice[0][9]=1;
    }
    devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (Résultat.getString("et_duree").equals("05:00:00")){
        for (int i=1 ; i<10; i++)
            matrice[0][i] = 1;
    }
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    oui je suis con !!!!!!!!!!!!

    merci encore je vais faire ca sur tous pour voir si ca fonctionne ou pas.

    Encore merci

  13. #13
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Peut-être même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int limite = 0;
    -----
    if (Resultat.getString("et_duree").equals("05:00:00")){
        limite = 10;    
    }
    else if(Resultat.getString("et_duree").equals("05:30:00") {
        limite = 11;
    }
    -----
    for (int i=1 ; i<limite; i++)
            matrice[0][i] = 1;

  14. #14
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par usbfoot62 Voir le message
    Bonjour, voila j'ai un gros problème, j'ai fait un gros programme, mais quand je veux le compiler ben j'ai cette erreur :

    "Le code de la méthode main(String[]) dépasse la limite de 65535 octets"

    Comment peut t'on surpasser cette limite merci d'avance.
    En évitant d'écrire une méthode de 5.000 lignes de haut!
    Sépare ton code en plusieurs méthodes, écrire une méthode genre béhémot c'est moche, impossible à lire et à maintenir et t'arrive à ta limite

    Quand à cette limite, elle est technique, probablement due à la taille des pointeurs utilisé pour les jumps (assembleur) dans le code et le référencement des variables locales.

  15. #15
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    Oui je croit que ca va le faire car j'ai calculé et je gagne 22500 ligne environ

    Merci bien

  16. #16
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par usbfoot62 Voir le message
    je gagne 22500 ligne environ
    Pas de quoi se vanter !

    sinon sans rire, tu devrais lire un ou deux trucs sur les concepts objets (enfin les boucles d'abord ... ). Si tu les applique, imagine le nombre de lignes en moins que tu n'auras pas à écrire ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  17. #17
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Après 22000 lignes supprimées il fait encore 19000 lignes!

    Tu n'es pas obligé de séparer en plusieurs classes, mais déja en fonctions ce serait plus simple.

    Rien que la 1ère partie qui cherche le jour est simplifiable avec un switch case.

    Ensuite tu fais des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(){
    }
    else{
        if(){
        }
    }
    Alors que tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(){
    }
    else if() {
    }
    Je pense que tu pourrais utiliser une autre boucle pour supprimer environ 18000 lignes.

    Je suis plutot d'accord avec jojodu31, il faut que tu expliques ce que tu veux faire et tout reprendre.

  18. #18
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    je dois vérifier si les case d'un tableau sont vide ou pas.
    Le tableau fais 18 lignes par 22 colonnes.

    La vérification doit ce faire suivant le nombre d'heure. (emplois du temps)

    Voila

  19. #19
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par morph41 Voir le message
    Je suis plutot d'accord avec jojodu31, il faut que tu expliques ce que tu veux faire et tout reprendre.
    Moi je pense qu'il faut plutot que tu apprennes à développer. Lis un bouquin sur la POO, la conception, des tutoriaux basiques.... Parce que là on se demande un peu où on est quand même!

    C'est vraiment pas méchant ce que je dis... On a tous à passer par là, d'abord apprendre, ensuite poser des questions cohérentes.
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  20. #20
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Rien n'empêche de donner un petit coup de pouce à comprendre le principe.

    Les 18 lignes et 22 colonnes représentent quoi?
    Sous quelle forme récupères-tu ta durée? ta date?

    [Édit]
    Je viens de penser a un truc, ta matrice ne contient que des 0 et des 1?
    Si oui j'espère que c'est une matrice de booleen et pas de int

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/05/2008, 23h36
  2. Comment passer et récupérer des parametres ?
    Par olibara dans le forum C#
    Réponses: 15
    Dernier message: 01/04/2008, 15h07
  3. Réponses: 2
    Dernier message: 06/04/2007, 10h26
  4. passer au dessus des blocs
    Par HwRZxLc4 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 06/03/2007, 17h16
  5. Comment passer et lire des paramètres passé à mon application VB
    Par ssakhri dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/11/2006, 16h50

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