![]() |
Re: Java - Project compilieren
@Leddl
Du hast schon recht, dass damit keine exe erstellt wird. Ich hab nur compilieren gelesen. Ein Programm zum erstellen von Exe-Dateien ist : exe4j André |
Re: Java - Project compilieren
Zitat:
Java besitzt schon seit Jahren einen JIT Compiler, der seit dem SDK 1.4 sogar ziemlich gut ist. ;) Dass komplett durchkompilierte Binaries sehr schnell sehr groß werden überascht mich eigentlich überhaupt nicht. Wenn du die extreme Anzahl von Basisklassen und Technologien einer solchen VM (zum Beispiel Reflection) in ein Binary stopfen willst, muss da nunmal tierisch viel rein. :mrgreen: Das ist nicht mit dem bisschen WinApi->VCL in einer 1MB großen Delphi Echse vergleichbar. (Der Vergleich wäre für beide Seiten ungerecht ;) ) Über den Sinn von solchen Abenteuern lässt sich streiten... |
Re: Java - Project compilieren
Ah OK, das kannte ich nich. Is mit 59$ sogar noch relativ günstig. ;)
Ist die Trial Version in irgendeiner Weise beschnitten, außer das Registrierungshinweise kommen? Achja, hier ein Link dazu: ![]() @Robert_G: Was heißt da "ts... ts..."? Versteh ich im Hinblick auf den von dir zitierten Textteil nicht. Oder willst du behaupten, daß man mit "javac" und "java" doch ne exe erstellen kann? :gruebel: Ich benutze selbst zwar nur sehr selten Java, käme da aber wohl auch nicht unbedingt auf die Idee, daraus ne exe zu machen. Aber geisi hat halt nunmal gefragt, wie er das mit diesen Befehlen machen kann, und das geht meines Wissens eben nicht. Nichtsdestotrotz will er aber halt eine haben. Über Sinn und Zweck läßt sich natürlich streiten... |
Re: Java - Project compilieren
Robert bezieht sich auf interpretiert.
|
Re: Java - Project compilieren
Aha, OK. Und was is daran falsch? Schließlich ist das doch genau das, was der Java-Compiler macht. Ich hab mich ja nich abfällig geäußert oder so. War ja nur ne Erklärung. Oder lag ich wirklich falsch?
|
Re: Java - Project compilieren
JAVA wird nicht interpretiert, sondern zur laufzeit in Maschinencode übersetzt (wenn du eine Funktion aufruftst). Daher der Name Just In Time-Compiler.
André |
Re: Java - Project compilieren
Ähm, jetzt muß ich mich mal ganz dumm stellen. :gruebel: Wie nennt man es denn dann, wenn man per javac seinen Code (.java) in .class verändert? Bei uns nannte sich das "interpretieren". Klar, daß die Compilierung erst auf dem Zielsystem stattfindet. Aber AFAIK muß Code vor dem Asuführen eben interpretiert werden.
|
Re: Java - Project compilieren
Zitat:
geschrieben hast...) Jedenfalls müsste dann ja in der EXE eine Art VM sein. Denn ohne funktioniert es einfach nicht. |
Re: Java - Project compilieren
Zitat:
![]() |
Re: Java - Project compilieren
Hallo,
da wird's langsam etwas verwürfelt... "javac" (oder ein anderer Java-Compiler) compiliert(!) den Quellcode, und zwar in eine ausführbare Datei, aber eben nicht in eine .exe, sondern in Maschinencode für eine virtuelle Maschine (die VM). Dieser Maschinencode wird dann normalerweise interpretiert (von der VM, die ein normales Programm des Wirtscomputers ist, also eine .exe bei Windows). Um das Interpretieren etwas schneller zu machen, wird bei einigen Systemen der einmal interpretierte Code als Maschinencode der Wirtsmaschine zwischengespeichert, damits beim nächsten mal schneller geht. Das ist der Just-In-time-Compiler (JIT). Wenn du nun ein Javaprogramm als exe haben möchtest, dann ginge das zwar mit Spezieltools, aber das bringt nicht viel; einerseits sind die VM schon ziemlich schnell, auf der anderen Seit wird ohnehin meist der JIT eingesetzt. Und mehr kann ein solcher Java-nach-Exe-Compiler auch nicht tun, als den maschinencode erzeugen und ein riesiges Runtime-Modul dazulinken, den Java und die darunterliegenden Strukturen sind nunmal dynamisch und erst die Laufzeit zeigt, was überhaupt benötigt wird. Also muss quasi die VM dazugelinkt werden! Bringt meiner Meinung nach nicht viel... Bis dann Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz