Existe o compilador JIT (Just in time) para java? (aquele q compila o byte code para o native code da plataforma utilizada)
sim, procure pelo HotSpot!
Ele vem no JSDK1.4.2? Quando eu digito java -version, aparece: HotSpot ™ Cliente VM (build 1.4.2_02-b03, mixed mode). Eu tenho q alterar alguma coisa para compilar usando o HotSpot?
não sei te dizer cara, nunca usei o HotSpot… só sei te dizer q existe… :oops: , tente procurar algo na propria sun aqui:
Vc ñ precisa fazer nada para usar, o compilador JIT já tá no java desde ñ sei qual versão.O modo mixed quer dizer q o código fica rodando interpretado até q a versão compilada esteja pronta pra executar(Isso demora às vezes milésimos de segundo).
Pra vc ter uma idéia o j2sdk1.4.2 no modo -server compila o código com instruções SSE(pentium3) e SSE2(pentium4) q deixam o código quase 2X mais rápido com operações de ponto flutuante q o mesmo código em C compilado em C via gcc ou bcc sem otimizações de harware.Otimizar o código para um dado processador em C pode deixar o mesmo muito rápido nesse processador, mas dá uma verdadeira facada no desempenho em qualquer outro processador(um código otimizado para pentium3 roda de 1.75 a 3X mais lento em pentium4 q o sem flags dependentes de harware).Um código compilado em tempo real pode usar todas as vantagens do hardware sem ser prejudicado em qualquer outra plataforma.
o modo -client é o padrão da VM e quer dizer q roda interpretado até terminar de compilar.O modo -sever quer dizer, carrege o mais lento possível, mas roda o mais rápido possível, aí a VM analiza o harware e verifica q tipo de otimização ele pode prover (SSE,SSE2 …etc), aí compila todo o código e depois executa.
Tem até a possibilidade de vc contolar a compilação do código de dentro do programa com a classe java.lang.compile.