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

Applets Java Discussion :

Allouer de la mémoire avant de lancer une applet


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut Allouer de la mémoire avant de lancer une applet
    Bonjour,

    J'ai développé un applet qui consomme beaucoup de mémoire.
    Or par défaut, la JVM alloue 64Mo de mémoire pour une applet.
    Je voudrais savoir si elle possible de passer un paramètre dans le html( ou autre) a la jvm pour qu'elle démarre avec la valeur passée en paramètre. ( a priori non)

    Ou sinon peut-on acceder aux parametres de java runtime en utilisant du code java...ou autre (C++...)?

    La solution que j'ai adoptée pour le moment est de prévenir l'utilisateur lorsque l'applet demande plus de 64Mo et de lui dire d'aller ajouter dans "panneau de config->java->Parametre execution JRE" le parametre -Xmx256m ... donc pas génial...
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    Bonjour,
    Il n'est pas possible de modifier la mémoire réservé à une Applet.
    En tous cas pour le moment, ils sont en pour parler à ce sujet pour les prochaines versions de Java.
    Par contre ce que tu peux faire est :
    -> Ce que tu as fait : expliquer aux gens ce qu'il faut faire
    -> Une Java Webstart, là tu peux fixer la mémoire utiliser. Deux choses c'est que ce n'est plus vraiment intégrer au site, mais bon ce n'est pas le plus génant, mais surtout, ce qui est génant à mon avis c'est leur barre de chargement laide avec validation multiple
    -> Signer ton Applet, copier un jar en local, et le lancer depuis ton Applet avec un Runtime.exec. Bien entendu ton application ne sera plus intégrée au site (comme la webstart), mais tu n'auras qu'une seule validation à demandée à l'utilisateur (la signature) et tu auras le contrôle de la barre de chargement.
    Même si la derniére solution peut paraitre séduisante, il y a deux trois chose à faire attention pour que ça marche bien.
    JackHack

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Par défaut
    Ok , merci, ta réponse me satisfait,
    La solution de lancer un ".jar" sur le pc client est astucieuse. Cela permet d'allouer plus de mémoire au lancement.
    C'est quand même un peu dommage de faire un fonctionnement comme ca juste pour allouer plus de mémoire.
    J'espère aussi que dans les prochaines versions de java on pourra lancer une applet en parametrant la memoire allouée.

    J'aurai quand même voulu en attendant pouvoir créer une petite install permettant de parametrer java pour qu'il lance les applets avec comme paramètre la mémoire à allouer.
    Par contre j'ai regardé un peu partout, mais je n'ai pas trouvé où sont stockées les informations "saisies" par l'utilisateur sur le "panneau de config java". Fichiers? registres? autres?

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    Bonjour,
    Le fichier se trouve dans to user home, sous windows en général "C:\Documents and Settings\noDuCompte" dedans il y a un dossier caché appelé : "Application Data" c'est pas un secret beaucoup d'application ecrives des donner la dedans, puis "Sun\Java\Deployment" et là tu trouves un fichier nommé : "deployment.properties" qui contient les réglages de la JVM.
    Je vois bien l'idée que tu as eu en te demandant ou était ce fichier, pourquoi mon Applet le modifierais pas ? Deux choses, d'abord assures toi de ce que tu fait, ensuite tes modifications seront prises en compte si l'utilisateur ferme son navigateur et toutes les pages et enssuite reviens sur ta page. Mais moi je me vois pas dire à mes utilisateurs de mon site, : bon c'est bien vous êtes là, maintenant fermer votre navigateur, relancez le et revenez me voir, .... c'est plutôt bof comme truc
    A bientôt
    JackHack

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Personellement, je trouve qu'allouer 64M de mémoire pour une page web (et donc une applet) c'est déjà énorme, t'imagine la consommation si t'as juste 10 pages comme çà ouverte ou, pire si t'as 3 applets dans la page? Si t'as besoin d'autant, c'est que tu fait autre chose qu'une applet, plutot une application chargée automatiquement depuis le web, et donc java webstart est indiqué.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    au fait, si t'es pas sous windows, modifier la config à la main, çà va être dur :p

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut Juste un petit ajout
    Pour la proposition :
    Citation Envoyé par JackHack Voir le message
    Bonjour,
    -> Signer ton Applet, copier un jar en local, et le lancer depuis ton Applet avec un Runtime.exec. Bien entendu ton application ne sera plus intégrée au site (comme la webstart), mais tu n'auras qu'une seule validation à demandée à l'utilisateur (la signature) et tu auras le contrôle de la barre de chargement.
    Même si la derniére solution peut paraitre séduisante, il y a deux trois chose à faire attention pour que ça marche bien.
    J'ai fait une API permettant cela, que vous pouvez récupèrer (code source et documentions) à :
    http://www.developpez.net/forums/sho...t=13730&page=6 bon ça peut changer de page au cours du temps, donc cherchez le sujet webstart like, si il n'est plus à cette page
    JackHack

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/09/2014, 12h39
  2. [AC-2003] Vérifier des conditions avant de lancer une requête ?
    Par artus59 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/07/2013, 23h07
  3. Tester si le mobile est "géolocalisable" avant de lancer une fonction
    Par VTwin dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 08/03/2012, 22h59
  4. À lire avant de lancer une discussion
    Par Mickael Baron dans le forum Eclipse PHP
    Réponses: 0
    Dernier message: 20/03/2008, 20h52
  5. Marquer une pause avant de lancer une action
    Par PrinceMaster77 dans le forum ASP
    Réponses: 1
    Dernier message: 12/07/2006, 11h50

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