Java Native Interface: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina; testo: 'Java Native Interface e' l'interfaccia predisposta da java per interagire con le librerie native del sistema ospitante java stesso. In particolare, essendo molti sistemi opera...'
 
Nessun oggetto della modifica
Riga 1:
{{s|informatica}}
Java Native Interface e' l'interfaccia predisposta da java per interagire con le librerie native del sistema ospitante java stesso. In particolare, essendo molti sistemi operativi scritti in c, jni permette di poter interagire con le librerie sviluppate mediante tale linguaggio, dopo aver costruito una opportuna classe di ingresso e un header che consenta l'interfacciamento.
In [[informatica]], la '''Java Native Interface''' (letteralmente "interfaccia nativa Java", abbreviato in '''JNI''') è un [[framework]] di [[programmazione]] che ha lo scopo di permettere ai programmi [[linguaggio Java|Java]] di richiamare [[sottoprogrammi]] scritti in altri [[linguaggio di programmazione|linguaggi di programmazione]], e in particolare [[linguaggio C|C]], [[C++]] e [[assembly]] (i cosiddetti "linguaggi nativi", da cui il nome del framework). L'interfacciamento è basato sulla definizione di un insieme di [[classe (programmazione)|classi]] di raccordo fra i due contesti, che presentano una interfaccia Java ma che delegano a codice nativo l'implementazione dei loro metodi. Lo stesso framework consente anche l'operazione inversa, ovvero l'invocazione di codice Java da parte di programmi scritti nei linguaggi nativi.
 
L'uso principale di JNI consiste nel consentire a programmi Java di far uso di servizi implementati nelle [[libreria di sistema|librerie]] del [[sistema operativo]] ospite.
JNI rivela la sua utilita' nel momento in cui esiste una libreria di sistema (.dll per windows, .so per linux, etc) e la si vuole usare tramite java. Ovviamente bisogna aver chiaro quali siano le funzioni richiamabili da tale libreria per poter creare l'header di interfacciamento.
 
[[Categoria:Programmazione]]