Antworten:
Es scheint , dass die GNU Compiler für Java können Java - Quellcode in jeder Java - Bytecode oder Maschinencode konvertieren. Es kann auch vorhandenen Java-Bytecode in Maschinencode konvertieren. Die letzten Nachrichten stammen jedoch aus dem Jahr 2009, daher bin ich mir nicht sicher, wie aktuell sie sind und ob sie die neuesten Funktionen der Java-Sprache unterstützen.
Nicht ganz direkt auf das OP antwortend, aber vielleicht eine interessante Seite. Java kann in drei Modi ausgeführt werden:
-Xint
Flag - Interpreted - Nur Byte-Code-Xcomp
Flag - kompiliert - Maschine kompiliert-Xcomp
weil ich diesen nicht in der Dokumentation zu JDK 7 oder den HotSpot-Optionen gefunden habe und nicht sicher bin, ob Sie einige Geheimnisse der Mailingliste haben, die wir, die Sterblichen, nicht kennen :-)
javac
? Gibt es bei Verwendung von -Xcomp standardmäßig eine einzelne Binärdatei aus?
Es ist möglicherweise besser, das Betriebssystem mit System.getProperty ("os.name") zu erkennen . Damit können Sie mehr als ein Betriebssystem unterstützen, andere jedoch ausschließen.
java -Dos.name=MacOS
.
Es ist jetzt so: Mit GraalVM können Sie Ihre Programme vorab in eine native ausführbare Datei kompilieren. Schauen Sie sich die native-image- Funktion an:
Zusammenfassung
https://www.graalvm.org/docs/getting-started/#native-images
Demos: Native Images für einen schnelleren Start
https://www.graalvm.org/docs/examples/native-list-dir/
Detailliert: "Frühzeitige Kompilierung"
https://www.graalvm.org/docs/reference-manual/aot-compilation/
Verwandte Frage: 'Kann ich Java in nativen Code kompilieren?' https://stackoverflow.com/questions/2991799/can-i-compile-java-to-native-code/50555050#50555050
PS GCJ wird nicht mehr gepflegt.
Quelle: 'Die Löschung von gcj' http://tromey.com/blog/?p=911