|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Nov 2016
Messaggi: 15
|
Java 8 - JNI, qualche chiarimento.
Mi servirebbe qualche chiarimento circa il JNI, l'interfaccia java nativa.
Sto studiando un pochino di java avanzato, e mi sono imbattuto nel JNI. Ho vari dubbi, pensavo di fondere java e c\c++. Quanto senso ha fondere codice C\C++ al java per creare metodi più efficienti? Mi troverei un programma privo di portabilità !!!! Allora mi chiedo, è utile solo per accedere alle funzioni specifiche di sistema operativo, tipo utilizzare i driver di un lettore di barre o una fotocamera o ha senso anche per creare parti di programma ad alta efficienza ? Ad esempio posso realizzare 3 metodi distinti in c++, uno per Windows, uno per Linux ed uno per iOs e dire al programma principle in java, Se stai girando in windows usa questo, altrimenti ..... In pratica JNI può avere senso anche per poter realizzare il 99% una sola volta e compatible con tutte le piattaforme ed 1% di codice N volte, tante quante i sistemi operativi che voglio coprire con il mio programma ? Mi fermo qui, in attesa di un primo chiarimento e poi eventualmente porrò altre domande alla corte e gentile attenzione. Ringrazio anticipatamente chiunque mi aiuterà a chiarirmi le idee. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Direi che non ha senso utilizzare jni per migliorare le prestazioni dell'applicazione. Certo, le prime jvm erano davvero lente e forse a quel tempo avrebbe avuto un senso. Ora direi proprio di no.
Come hai giustamente detto puoi usare jni principalmente per accedere ai driver, al software scritto in altri linguaggi, per implementare funzionalita' non previste nel linguaggio, ecc. ma per ottimizzare, direi che trovare un caso in cui abbia senso sia difficile
__________________
In God we trust; all others bring data |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:15.