Le differenze quando compilazione Java con GNU Compiler per Java al posto del Sun JDK

StackOverflow https://stackoverflow.com/questions/1690617

  •  18-09-2019
  •  | 
  •  

Domanda

Sto lavorando su un progetto scolastico in cui sono tenuto a usare la GNU Compiler per Java. Ho sempre lavorato con il Sun JDK ufficiale e ora sono preoccupato per le differenze che potrebbero complicare il mio lavoro.

Sono particolarmente interessato a quale versione di Java è quello supportato dalla più recente compilatore GCJ

Qualcuno potrebbe fare luce nelle differenze tra l'uno o l'altro?

PS: Ho cercato su google ma non sono riuscito a trovare una risposta recente

È stato utile?

Soluzione

Dato GCJ è un compilatore in cima GNU Classpath è necessario le differenze tra ufficiali JDK e GNU Classpath. Per Sun JDK 1.4 vedere questo per Sun JDK 1.5 Vedere questo .

Altri suggerimenti

Se questa risposta dovrebbe diventare la risposta più alta votato, vuol dire che si dovrebbe chiedere al prof piacere a riconsiderare il motivo per cui sta facendo si utilizza una piattaforma così insolito. Nel mondo reale, la gente usa Sun JDK prevalentemente. Non vedo questo cambia molto nel prossimo futuro. Si tratta di un prodotto di qualità, per la maggior parte.

Può davvero essere aiutare ad imparare?

Bene dal suo home page:

http://gcc.gnu.org/java/

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. 

Dal sito web GCJ. Sembra che il compilatore GNU è un compilatore ahead-of-time e non un compilatore just-in-time, come Sun. Quindi c'è una differenza proprio lì. La prima pagina è un po 'vago e riferimenti che ha alcuni byte di codice servizi di interpretazione integrate nel runtime libgcj.

sarei diffidare di qualsiasi libreria che copre la maggior parte delle biblioteche 1.4 e 1.5. Se il target di 1,4 vostro probabilmente bene. 1.6 e probabilmente siete in un mondo di dolore.

Tenete a mente se GCJ può interpretare solo i file di classe allora potrebbe essere molto più lento l'esecuzione di codice non compilato di compilatore JIT del Sole.

Ho eseguito in sottili differenze nella data parsing ultima volta che ho guardato.

come JVM GNU non ha superato il TCK Java è necessario fondamentalmente trattarlo come una nuova piattaforma con piena test necessari.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top