Unterschiede beim Kompilieren Java mit GNU Compiler für Java anstelle des Sun JDK
-
18-09-2019 - |
Frage
Ich arbeite an einem Schulprojekt, wo ich verpflichtet ist, das GNU Compiler für Java zu verwenden. Ich habe die offizielle Sun JDK immer gearbeitet mit und jetzt bin ich besorgt über Unterschiede, die meine Arbeit erschweren könnten.
Ich ist besonders daran interessiert, in der Java-Version die eine nach dem neuesten GCJ Compiler
unterstützt wirdKönnte jemand etwas Licht in die Unterschiede zwischen einem Schuppen oder das andere?
PS: ich auf Google gesucht, aber versäumt, eine letzte Antwort bei der Suche nach
Andere Tipps
Wenn diese Antwort sollte die höchste gestimmt Antwort werden, bedeutet dies, dass Sie Ihre prof fragen sollte überdenken zu gefallen, warum er macht Sie so eine ungewöhnliche Plattform verwenden. In der realen Welt verwenden die Menschen überwiegend Sun JDKs. Ich sehe diesen Wechsel nicht viel in der nahen Zukunft. Es ist ein Qualitätsprodukt, zum größten Teil.
Kann das wirklich sein hilft Ihnen lernen?
Nun aus es Startseite:
Compiled applications are linked with the GCJ runtime, libgcj, which provides the core
class libraries, a garbage collector, and a bytecode interpreter. libgcj can dynamically
load and interpret class files, resulting in mixed compiled/interpreted applications. It
has been merged with GNU Classpath and supports most of the 1.4 libraries plus some 1.5
additions.
Von der GCJ-Website. Es sieht aus wie das GNU Compiler ein Voraus-Time-Compiler ist und nicht ein Just-in-Time-Compiler wie Suns. Es gibt also genau dort einen Unterschied. Die Titelseite ist ein wenig vage und Verweise, dass es hat einige Byte-Code Dolmetscheinrichtungen in die libgcj Laufzeit gebaut haben.
Ich würde vorsichtig sein, jede Bibliothek, dass die meisten der 1.4 und 1.5 Bibliotheken abdeckt. Wenn Sie als Ziel 1.4 Ihre wahrscheinlich in Ordnung. 1.6 und Sie sind wahrscheinlich in einer Welt des Schmerzes.
Beachten Sie, wenn GCJ nur Klassendateien interpretieren kann, dann könnte es viel langsamer laufen kompilierten Code als Suns JIT-Compiler sein.
Ich habe in feine Unterschiede in Datum laufe letztes Mal Parsen ich aussehen.
als Gnu JVM die Java TCK nicht bestanden hat, muss man im Grunde behandelt es als eine neue Plattform mit vollen Tests erforderlich.