Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1106 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  charger une classe dynamiquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

charger une classe dynamiquement

n°1734218
godbeni
Posté le 20-05-2008 à 09:21:49  profilanswer
 

Bonjour, je réalise une petite appli qui doit à un moment généré du code:
L'utilisateur entre sa formule mathématique au clavier, un parser génère une classe calcul.java qui contient les méthodes générées à partir de la fonction de l'utilisateur. Je désire maintenant transformé cette classe en bytecode durant l'exécution de cette dernière et charger la classe dans mon appli pour l'exécuter. Je n'ai pas trouvé de tuto alors ma question est simple: comment faire, avez-vous un petit exemple (ou tuto) sous le coude?
 
Par avance merci  :hello:


Message édité par godbeni le 20-05-2008 à 09:22:11
mood
Publicité
Posté le 20-05-2008 à 09:21:49  profilanswer
 

n°1734232
flo850
moi je
Posté le 20-05-2008 à 09:51:57  profilanswer
 

je suis pas sûr que tu prennes le problème dans le bon sens


---------------

n°1734271
godbeni
Posté le 20-05-2008 à 10:42:41  profilanswer
 

flo850 a écrit :

je suis pas sûr que tu prennes le problème dans le bon sens


que me proposerais-tu sachant que je dois avoir les étapes suivantes:
 
fonction écrite par l'utilisateur sous forme de string:   f(x)=2x+cos(x) par exemple
je dois créé la méthode computeFunction(double x) à partir de cette string et l'utiliser fréquement dans mon programme

n°1734279
flo850
moi je
Posté le 20-05-2008 à 10:49:13  profilanswer
 

une classe qui se charge de lire la fonction et de produire un arbre d'exécution ( en prenant en compte la priorité des opérateurs, les parenthèse, .... ) , en fonction d'une grammaire définie
 
une classe qui se charge d'exécuter cet arbre
 
en C , il y a LEX et YACC qui permettent de faire ça, des équivalent existent surement en java  


---------------

n°1734337
godbeni
Posté le 20-05-2008 à 11:28:02  profilanswer
 

flo850 a écrit :

une classe qui se charge de lire la fonction et de produire un arbre d'exécution ( en prenant en compte la priorité des opérateurs, les parenthèse, .... ) , en fonction d'une grammaire définie
 
une classe qui se charge d'exécuter cet arbre
 
en C , il y a LEX et YACC qui permettent de faire ça, des équivalent existent surement en java  


 
Oui j'avais pensé aux arbres mais ça n'est pas réalisable dans ce projet. Calculer une fonction à partir d'un arbre est beaucoup plus couteux que de l'avoir directement codée sous forme de méthode du style return f=2*c+Math.cos(x);
Pour détailler un peu plus, j'utilise ma fonction dans une heuristique qui dure environ 6 heures et qui appelle la fonction en permanence ( fonction de fitness ). Il me la faut donc coder de sorte qu'elle soit la plus rapide possible à executer ( la fonction ).

n°1734340
flo850
moi je
Posté le 20-05-2008 à 11:30:15  profilanswer
 

tua s ce genre de truc sinon :  
http://www.developpez.net/forums/s [...] hp?t=88086
 


---------------

n°1734342
Taz
bisounours-codeur
Posté le 20-05-2008 à 11:34:19  profilanswer
 

Bah fais pas de Java alors ... travailler avec un arbre pour des petites formules, ça ne doit pas avoir un si gros surcout que ça avec le JIT.
 
Sinon y a javax.tools.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  charger une classe dynamiquement

 

Sujets relatifs
[résolu]Pb avec LoadMovie:fonctionne ou pas selon l'anim à chargerDOM - ajout d'un select dynamiquement toujours à la ligne
initaliser un tableau de classe avec new ?[CORRIGÉ] Charger une image et l'étirer
UserControl ajouté dynamiquement et evennementCharger un objet php depuis une session
Problème accès à une méthode d'un vecteur de classe[Resolu] executer un .bat dans une classe java
[Résolu] Pb classe javascript[UML] aide diagramme de classe
Plus de sujets relatifs à : charger une classe dynamiquement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR