Le projet GCJ mentionné plus haut permet de compiler du code Java en code natif. Ça te fera un bel .exe, et de cette façon ton fichier compiler peut faire 200 k0, tu n'est pas obligé d'avoir tout la JVM.
Le code ne sera pas tellement plus rapide (même compilé, il y aura un ramasse miettes pour la gestion de la mémoire).
Le problème toutefois avec GCJ c'est qu'il ne supporte pas la totalité de SWING. Si tu possède une interface complexe en swing ça risque de ne pas marcher...
Une solution selon ce que j'ai lu, c'est d'utiliser SWT une librairie de composantes graphiques pour Java, qui est utilisée je crois pour Eclipse. Cette librairie si j'ai bien compris peut-être compilée en code natif avec gcj. Il te faudra vérifier.
Le projet GCJ est très intéressant, c'est l'équivalent pour Java, du projet GCC pour le langage C.
Pour ce qui est des autres alternatives exe4j, c'est très lourd, ton exe peut faire jusqu'à 50 meg car il ne compile pas vraiment, il inclu la totalité de la JVM.
Tu pourras avoir plus de détails en fouillant sur le Web.