
O JNA ou Java Native Access é uma forma de acessar bibliotecas nativas como dll’s do Windows ou so do Unix.
Muito útil quando não queremos reescrever um código nativo e temos a possibilidade de acessar diretamente de uma aplicação Java.
Diferente do JNI ou Java Native Interface, o JNA não “polui” tanto o código pois tem uma abstração maior.
O JNA é muito menos invasivo e simples de utilizar que o JNI, pois no JNI ainda é necessário fazer alterações na biblioteca nativa, o que aumenta a complexidade.
Já no JNA só precisamos criar uma interface mapeada dos métodos da biblioteca nativa e fazer as chamadas na implementação.
Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/jna.html.