Se llaman "Ahead of Time Compilers (AOT)".
La primera respuesta que vas a obtener en todos los foros de Java sería,
Por qué? Convertir a .exe eliminaría el objetivo de Java. (Portabilidad).
En Linux el compilador "GNU gcj" es una herramienta open source
que permite generar código binario ejecutable para Linux. (Por ser
open source todavía le hace falta desarrollo y creo que es compatible
solamente con la especificación 1.4 y anteriores, pero funciona
muy bien en la mayoría de los casos).
En Windows creo que solo "Excelsior JET" y tienes que comprar las
licencias adecuadas o seguir las instrucciones que tiene en su sitio
para optar por una versión no-comercial.
Hay otro tipo que no convierte y solamente lo encapsula...
http://www.monografias.com/trabajos2...igo-java.shtml
Hay mucha información al respecto en google. (Demasiado como para
reproducirla por aquí).
http://www.google.com/search?q=AHEAD+OF+TIME+AOT+JAVA
Y es muy importante que leas el siguiente artículo, que describe
exactamente "por qué", "cuando", "cuando no" y "como".
http://www.excelsior-usa.com/articles/java-to-exe.html