Java Native Interface
From Wikipedia, the free encyclopedia
La JNI (Java Native Interface) est une bibliothèque logicielle d'interfaçage, intégrée nativement au JDK de Java, qui permet au code Java s'exécutant à l'intérieur de la JVM d'appeler et d'être appelé[1] par des applications natives (c'est-à-dire des programmes spécifiques au matériel et au système d'exploitation de la plate-forme concernée), ou avec des bibliothèques logicielles basées sur d'autres langages (C, C++, assembleur, etc.).
Voici quelques exemples d'utilisation de JNI :
- Certaines fonctions du matériel ou du système d'exploitation ne sont pas gérées dans les bibliothèques Java ;
- Pouvoir s'interfacer avec des applications écrites dans d'autres langages ;
- Pour les applications temps réel, utiliser un langage compilé (c'est-à-dire du code natif) sera plus rapide que de passer par le bytecode de Java.
Le ramasse-miettes ne fonctionne pas pour les fonctions JNI[réf. souhaitée], donc le programmeur doit être rigoureux dans sa programmation.
Interfacer JNI est moins complexe avec un langage qui utilise déjà des objets (comme le C++), alors qu'à l'opposé des langages comme le C n'ont pas de concept d'objet et rendent la programmation plus ardue.