Gerando um executável Java

Olá pessoal,

Sabemos que o java é parte compilado e parte interpretado. O código gerado ao compilar um arquivo .java, que é o .class é um código que somente a máquina virtual JVM entende e converte para a plataforma em questão. Mas a minha pergunta é se existe como criar um executável em java da mesma maneira que o compilador C/C++ ? E se existe, como fazer ?

Abraço,

a) Dá
b) Opções:

  • gcj - open-source, não compila todos os programas Java (não implementa todo o AWT e o Swing). Ainda não consegue compilar programas Java 5.0
  • Excelsior JET - pago, para Windows e Linux.