Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Accès rapide :

Utilisation de code natif : Compléments d?informations sur JNI


Notes:

L'exemple de code suivant vous montre comment, à partir d'un code C, invoquer une méthode sur un objet Java. La principale difficulté réside dans le fait que le langage Java accepte la surcharge. Le seul nom de la méthode ne suffit donc pas à identifier la méthode à invoquer. Il faut aussi préciser son prototype complet. Pour ce faire, une syntaxe particulière vous est proposée.

Calcul de l'ID de la méthode :

Une fois la méthode identifiée, l'environnement JNI vous retournera un identificateur unique de méthode. C'est lui qui servira réellement lors de l'appel. On peut alors se poser une question : n'est-il pas plus rapide de pré-calculer une fois pour toute l'identificateur numérique de la méthode, plutôt que de toujours relancer sa recherche par code. La réponse n'est pas si simple. Oui, dans un certain sens, cela permet de gagner du temps. Donc si vous pouvez faire la recherche une fois pour toute, le programme en sera plus rapide.

Mais il y a un autre aspect à considérer : si vous modifiez une classe (ajout ou suppression de méthodes), les identificateurs changent alors. Si le programme les recherche plutôt que de directement utiliser une constante, son évolutivité en sera plus accrue.

Diapositive précédente Diapositive suivante