Jni

Olá pessoal, faço curso Técnico em TI tenho que fazer uma apresentação sobre o JNI, gostária de entender melhor o que é JNI e para que serve. Obrigado.

Java Native Interface, é uma parte do java que permite que você acesse arquivos de função (DLL’s do windows por exemplo) nativos do sistema operacional. Nesse caso fazendo isso você perde portabilidade, uma vez que seu código vai estar utilizando uma função dependente de sistema operacional.

Espero ter ajudado :slight_smile:

[quote=laudenpower]Java Native Interface, é uma parte do java que permite que você acesse arquivos de função (DLL’s do windows por exemplo) nativos do sistema operacional. Nesse caso fazendo isso você perde portabilidade, uma vez que seu código vai estar utilizando uma função dependente de sistema operacional.

Espero ter ajudado :slight_smile: [/quote]

Obrigado, vou dar umas estudadas qualquer dúvida deixo uma mensagem.

[quote=laudenpower]Java Native Interface, é uma parte do java que permite que você acesse arquivos de função (DLL’s do windows por exemplo) nativos do sistema operacional. Nesse caso fazendo isso você perde portabilidade, uma vez que seu código vai estar utilizando uma função dependente de sistema operacional.

Espero ter ajudado :slight_smile: [/quote]

:arrow:Me explique um pouco dessa função (DLL’s do windows por exemplo) nativos do sistema operacional).

Cara, quer um conselho de amigo? Use JNA se você tiver de fazer alguma coisa, pois é bem mais sussa. Eu precisei integrar JAVA com C certa vez, daí comecei com JNI. Mas o JNI é muito burocrático. Daí o pessoal daqui do GUJ me recomendou JNA, que anda lado a lado com JNI, e é bem mais simples . Se você tem que implementar um projeto, aconselho JNA.

As DLL’s do sistema operacional são códigos compilados normalmente escritos em C ou C++.
Dentro das DLL’s existem algumas funções para gerenciamento do hardware e sistema operacional, como as de alterar data e hora do windows, por exemplo.

O Java não pode acessar essas DLL’s normalmente, somente através de JNI ou JNA.

http://java.sun.com/docs/books/jni/
http://java.sun.com/j2se/1.4.2/docs/guide/jni/