Nao, vc deve ter confundido JNI com JIT.
JNI e' uma extensao padrao Java que permite a utilizacao de bibliotecas de linkagem
dinamica, conhecidas no mundo Windows como as DLLs, no Unix as ".so" etc.
Com JNI vc pode desenvolver partes do codigo em outras linguagens, como C, C++ etc.
E' um dos poderes de Java, que muita gente desconhece e por isso limita-se a criticar
Java e limitar seu uso a appletzinhos idiotas.
(Desculpe o veneno soltado, mas e' a verdade...)
JIT (Just in Time compiler) e' um compilador que faz o que vc diz...
==========================
>From: Alexandre Carvalho <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: [SouJava-J] JNI em Linux
>Date: Sun, Feb 20, 2000 12:14 AM
>
>Gostaria de saber para que serve a JNI. =C9 um compilador direto para a p=
>lataforma?? =C9 mais r=E1pido que o Java normal?
>
>[EMAIL PROTECTED] wrote:
>
>> Ola' pessoal
>>
>> Por favor uma ajuda quem conhece JNI (Java Native Interface) !!!
>> Estou com problemas ao usar JNI num RedHat Linux 2.0.36.
>> Dentro da classe "StartHoudini" ha' um metodo nativo chamado getMacAddr=
>ess()
>> Criei o arquivo-cabecalho .h com o javah.
>> Apos isso implementei o programa em C que implementa o metodo nativo, t=
>udo isso sem problemas.
>>
>> Apos entao compilei o programa .c com a seguinte linha:
>> % gcc -fPIC -I/jdk1.2/include -I/jdk1.2/include/linux -c getMacAddr.c -=
>o getMacAddr.o
>>
>> Isso me gerou o arquivo getMacAddr.o, que ainda nao e' uma biblioteca E=
>LF.
>>
>> Entao para gerar a biblioteca ELF libjava-mac-addr.so, eu executo a lin=
>ha:
>> % gcc -shared -Wl,-soname,libjava-mac-addr.so -o libjava-mac-addr.so.1 =
>getMacAddr.o
>>
>> Isso gerou a biblioteca ELF libjava-mac-addr.so.1
>>
>> Criei um link entao de libjava-mac-addr.so para libjava-mac-addr.so.1
>> % ln -sf libjava-mac-addr.so.1 libjava-mac-addr.so
>>
>> Quando chamo a VM para executar StartHoudini recebo uma excessao:
>> Exception in thread "main" java.lang.UnsatisfiedLinkError: no libjava-m=
>ac-addr.so in java.library.path
>> at java.lang.ClassLoader.loadLibrary(Compiled Code)
>>
>> Ao meu ver parece que a VM exige uma propriedade (java.libray.path) que=
> indique onde as bibliotecas estao. Tentei entao:
>> % export LD_LIBRARY_PATH=3D(path para a biblioteca)
>> % java -Djava.library.path=3D$LD_LIBRARY_PATH houdini.system.StartHoudi=
>ni
>>
>> Continuo com a mesma excessao...
>> Em tempo: estou executando a VM como root, entao nao e' problema com di=
>reitos.
>>
>> Quem pode me ajudar por favor ??
>> Sera' que a biblioteca para JNI nao deve ser padrao ELF ?
>>
>> Abraco
>> Rodrigo
>>
>> --------------------------- LISTA SOUJAVA -------------------------=
>--
>> http://www.soujava.org.br - Sociedade de Usu=E1rios Java da Suces=
>u-SP
>> [d=FAvidas mais comuns: http://www.soujava.org.br/faq.htm]
>> [para sair da lista: http://www.soujava.org.br/forum/cadastrados.ht=
>m]
>> -------------------------------------------------------------------=
>--
>
> --------------------------- LISTA SOUJAVA ---------------------------
> http://www.soujava.org.br - Sociedade de Usu=E1rios Java da Sucesu-=
>SP
> [d=FAvidas mais comuns: http://www.soujava.org.br/faq.htm]
> [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
> ---------------------------------------------------------------------
>
>
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
[dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------