Die Erstellung eines Programms nennt man Build-Prozess. Dieser umfasst mehrere Schritte:
In einem ersten Schritt wird der Source-Code kompiliert. Das heißt, der Java-Compiler übersetzt die .java-Dateien in .class-Dateien (Byte-Code).
Die .class-Dateien werden von der virtuellen Maschine gelesen. Der Interpreter der virtuellen Maschine übersetzt jede Anweisung des Byte-Codes in Instruktionen, die die CPU ausführen kann. Um Optimierungen vornehmen zu können, wird während der Ausführung der Instruktionen das Laufzeitverhalten der einzelnen Sequenzen evaluiert. Diese Evaluierung ist eine notwendige Voraussetzung, dass der Just In Time Compiler für besonders zeitkritische Sequenzen des Programms optimierten Maschinencode erzeugen kann.
Möchte man das Programm weitergeben, ist es empfehlenswert, die .class-Files und sonstige Ressourcen (Bilder, Audio, …) in einem .jar-File (JavaArchive) zu bündeln.
Weiters besteht die Möglichkeit, aus dem Programm eine installierbare Datei zu erzeugen. Unter Windows kann so eine Datei mit dem Programm NSIS erstellt werden.