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

Eclipse Java Discussion :

Probleme Memoire avec Bytebuffer sosu eclipse


Sujet :

Eclipse Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut Probleme Memoire avec Bytebuffer sosu eclipse
    salut,
    je me propose de recuperer un bytebuffer d'une taille importante ( 25937640 lements byte) mais je n'arrive pas a le faire a peine une partie est recupérée j'ai le message d'erreur suivant sous eclipse: comment palier a ce probleme de memoire !!


    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
     
    #
    # An unexpected error has been detected by HotSpot Virtual Machine:
    #
    #  SIGSEGV (0xb) at pc=0xb29c4cbe, pid=4019, tid=2982861744
    #
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_05-b05 mixed mode, sharing)
    # Problematic frame:
    # J  java.nio.DirectByteBuffer.get(I)B
    #
    # An error report file with more information is saved as hs_err_pid4019.log
    #
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    #

  2. #2
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Salut !

    Est-ce que tu as la même erreur en dehors d'Eclipse quand tu lances ton programme directement ?
    Si oui, il faut essayer d'augmenter la taille mémoire utilisée par la machine virtuelle, c'est un paramètre à passer lorsque tu la lances.
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    et comment configurer ca sous eclipse ?

  4. #4
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javaw.exe -Xmx256m Main.class
    Par exemple, tu mets le chiffre qui convient à la place de 256 (m signifie Mo).
    P.S. : je n'ai jamais eu à utiliser ce genre de paramètres
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    ca c'est en ligne de commande mais peut on preciser ca dans une propriete pour le projet sous eclipse?.

  6. #6
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Graphiquement non. Mais si tu vas dans les propriétés de ton "lanceur". Là où c'est "Run As...", tu peux passer des arguments à l'exécution de ton programme (des arguments à la JVM j'entends). C'est là qu'il faut rajouter ce que je t'ai dis.
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    au fait pourquoi quand j'essaie de recuperer mon bytebuffer l'application se plante !! c'est vrai qu'il fait une taille de 25937640 byte mais je ne peux pas faire autrement ! y a t il un moyen pour optimiser cela?

  8. #8
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    Peux-tu nous montrer au moins le code que tu utilises, afin qu'on puisse trouver une manière d'éviter de problème ?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    voiçi comment je genere mon bytebuffer :

    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
     
    public static ByteBuffer RadarStub()
     
    		{
     
    			/*generer aléatoirement le tableau de byte d'une façon random*/
     
     
    			 ByteBuffer l_ByteBuffer = ByteBuffer.allocate(25937640);
     
    			Random rand = new Random();
     
    			int value ;
     
    			//25937640
    			for ( int i =0; i < 25937640 ; i++  ) /*la limite dependra du mode radar */
    			{
    			value =  rand.nextInt(150);
    			//System.out.println("valeur genere..."+value);
     
    			byte  l_b = (byte) value;		
     
    			l_ByteBuffer.put(i , l_b);
     
     
    			}
     
     
    			return l_ByteBuffer;
     
    		}

    merci pour votre aide

  10. #10
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    et le code qui appelle cette méthode ? j'ai testé la méthode, au boulot, aucun problème, même si elle aurait été plus sympa de cette manière:

    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
     
    	public static ByteBuffer RadarStub()
    	{
    		/* generer aléatoirement le tableau de byte */
    		int length = 25937640;
     
    		ByteBuffer l_ByteBuffer = ByteBuffer.allocate(length);
    		Random rand = new Random();
     
    		// 25937640
    		for (int i = 0; i < length; i++) /* la limite dependra du mode radar */
    		{
    			int value = rand.nextInt(150);
    			// System.out.println("valeur genere..."+value);
    			l_ByteBuffer.put(i, (byte)value);
    		}
    		return l_ByteBuffer;
    	}

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    voil al'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     static ByteBuffer l_ByteBuffer ;
    MemoryMonitor.l_ByteBuffer = Test.RadarStub();

    ce bytebuffer contient des valeur entre 0 et 150.
    ce l_bytebuffer je le recupere et je parcours chaque valeur et j'affiche le pixel correpondant avec la couleur font le RGB est : (255.value,0 ) ou value = MemoryMonitor.l_ByteBuffer.get(i) avec i parcourant tout le bytebuffer

    voilà

  12. #12
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    erf, pourquoi tout faire en static ?

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    et pourquoi pas? mais ej en crois pas que c'est ca le probleme de la lenteur ?

  14. #14
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    Non, je ne pense pas que ce soit le problème de la lenteur

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    alors pourquoi ca met enormement de temps pour charger mes données? est ce due a la priorite du thread de lecture? dois je le rendre beaucoup plus priotaire?

  16. #16
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    De quel thread tu parles ? Quel problème de lenteur ? Tu n'en as jamais parlé jusque là...

    A mon avis, il faut
    1) que tu donnes la description COMPLETE de ton problème
    2) que tu poses ta question dans le forum JAVA, ton problème n'a rien à voir avec Eclipse...

Discussions similaires

  1. Probleme bizarre avec tomcat et eclipse
    Par thesorrow dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 07/05/2007, 08h01
  2. Problemes de memoires avec les tableaux: outOfMemoryError
    Par Battosaiii dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2006, 16h50
  3. probleme executable avec eclipse
    Par sebemo dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 07/07/2006, 14h56
  4. Eclipse UML, JVM - Problème mémoire - Mandrake ?
    Par chat hotplug dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 02/08/2005, 14h05
  5. Problèmes avec Hibernate (sous Eclipse)
    Par Pierric dans le forum Hibernate
    Réponses: 2
    Dernier message: 07/04/2005, 14h35

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