Não existe executáveis em java, o que se existe é o jar, que logo será sempre compilado quando for preciso da aplicação, para a JVM interpretar, ou os bytecode é gerado uma unica vez. A função do HOTSPOT E JIT seria descobrir a melhor forma para otimizar o programa java, é isso?
A JVM é um interpretador ou compilador, ou os dois?