Se alguém pudesse me ajudar, estou na duvída em relação a alguns conceitos da JVM.
O que é o hotspot?
Qual a diferença do interpretador da JVM normal, para um interpretador JIT(Just-In-Time), em termos de implementação e aplicação?
A JVM para dispositivos portáteis, no que diz respeito a API, é igual ou diferente das JVM de desktops, posso utilizar classes como swing nestes dispositivos?
A JVM é o JRE?
JIT e Hotspot é mais ou menos a mesma idéia: a JVM pega os pedaços de código mais usados e os compila em código nativo para executar mais rápido.
A API para dispositivos portáteis depende do dispositivo. Os que usam PersonalJava tem uma API relativamente parecida com aa mais antigas de desktop e os que usam MIDP tem uma API bem mais restrita.
A diferenca do JIT e HotSpot, a grosso modo , eh o modo em que converte bytecode para codigo nativo. o JIT pega o programa inteiro no startup e transforma em codigo nativo. O HotSpot faz isso on demand, de formar que metodos executados varias vezes ja se encontram em modo nativo.
Desta forma o HotSpot tende a ser mais rapido, ocupar menos memoria (soh converte o que usa mais de uma vez realmente) e carrega mais rapido que o JIT ( o JIT tem que compilar tudo antes de iniciar, o hotspot eh um processo on demand).
JIT é uma técnica que realizar a compilação em runtime para código nativo do seu programa interpretado.
HotSpot é o nome que a Sun passou a dar para sua implementação da JVM a partir do j2se 1.3.
Logo a diferença é que JIT refere a uma técnica e HotSpot a um software.