Pergunta

Eu estou trabalhando em um projeto da escola onde eu sou obrigado a usar o GCJ. Eu sempre trabalhei com o oficial Sun JDK e agora estou preocupado com diferenças que possam complicar meu trabalho.

Eu estou especialmente interessado em qual versão do Java é o único suportado pela mais recente GCJ compilador

Alguém poderia lançar alguma luz nas diferenças entre um ou o outro?

PS: Eu procurei no google, mas falhou em encontrar uma resposta recente

Foi útil?

Solução

Desde gcj é um compilador em cima do GNU Classpath você precisa as diferenças entre JDK oficial & GNU Classpath. Para a Sun JDK 1.4 ver este para SUN JDK 1.5 see esta vez.

Outras dicas

Se esta resposta deve tornar-se a maior resposta votado, isso significa que você deve perguntar ao seu prof para agradar a reconsiderar por que ele está fazendo você usar uma plataforma tão incomum. No mundo real, as pessoas usam Sun JDKs predominantemente. Eu não vejo isso mudando muito no futuro próximo. É um produto de qualidade, para a maior parte.

Pode isso realmente estar ajudando você a aprender?

Bem dela é 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. 

Do site do GCJ. Parece que o compilador GNU é um compilador antes-do-tempo e não um compilador just-in-time como Sun. Portanto, há uma diferença aí. A primeira página é um pouco vago e referências que ele tem alguns recursos de interpretação byte-code construídos no tempo de execução libgcj.

Eu seria cauteloso em qualquer biblioteca que cobre a maior parte dos 1,4 e 1,5 bibliotecas. Se você segmentar 1,4 seu provavelmente bem. 1.6 e provavelmente você está no para um mundo de dor.

Tenha em mente se GCJ só pode interpretar arquivos de classe, em seguida, que poderia ser muito mais lenta a execução de código não compilado do que compilador JIT do Sol.

Eu tenho que correr em diferenças sutis na data parsing última vez que olhei.

Como o gnu JVM não passou no Java TCK você deve, basicamente, tratá-la como uma nova plataforma com o teste do necessário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top