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

API standards et tierces Java Discussion :

[Reflection] diff de perf entre newInstance() et appel classic


Sujet :

API standards et tierces Java

  1. #1
    Membre habitué
    Avatar de guipom
    Inscrit en
    Janvier 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 207
    Points : 184
    Points
    184
    Par défaut [Reflection] diff de perf entre newInstance() et appel classic
    Bonjour,

    J'ai besoin sur un serveur qui dispose d'une file de message de charger dynamiquement des messages de type "évolué" ou de type "normal"

    chaque type de message a sa propre classe. La classe du type évolué est ou n'est pas disponible suivant la version achetée, par contre la classe normal l'est toujours

    l'idée de la solution c'est dans la classe qui manage la création de ces messages, je cherche si la classe est présente et je récupère son Constructor, sinon je récupère celui de la classe de message "normal"

    et ensuite à l'arrivée d'un message, j'ai juste un newInstance() à réaliser sur un constructeur que je connais forcément.

    La question est la suivante, sachant que cette partie est critique en ce qui concerne les performances, est ce qu'un appel à newInstance sur un constructeur dont on a le pointeur est aussi rapide que l'appel classique d'un constructeur new MonMessage(). Ce constructeur ne prenant aucun parametre, ca a peut etre son importance.

    Merci d'avance


    (l'idée derrière tout ca c'est d'avoir une factory qui initialisera le bon constructeur et qui ensuite générera les bons messages. l'autre idée étant d'avoir une factory de factory, et la ca devient un peu pénible comme code pour peut etre absolument rien en plus)

  2. #2
    Membre habitué
    Avatar de guipom
    Inscrit en
    Janvier 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 207
    Points : 184
    Points
    184
    Par défaut
    si jamais ma question etait pas claire, je peux reformuler

    la question est essentiellement: est ce que l'appel à un newInstance a le meme cout que celui à un constructeur "déclaré"

  3. #3
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    A mon avis, c'est forcément plus long parce que la JVM doit vérifier à l'exécution l'accessibilité au constructeur sans paramètres, alors qu'avec "new MaClasse()", le contrôle est réalisé à la compilation.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/01/2014, 16h57
  2. la difference entre call_user_func et appel direct
    Par ishere11 dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2013, 21h45
  3. Différence de perf entre environnements
    Par FranckRav dans le forum Administration
    Réponses: 11
    Dernier message: 06/05/2010, 11h46
  4. [ASE] : Différence de Perfs entre DOL et APL
    Par jeeps64 dans le forum Adaptive Server Enterprise
    Réponses: 9
    Dernier message: 05/02/2008, 13h28
  5. Réponses: 1
    Dernier message: 23/01/2007, 15h57

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