Las diferencias de Java al compilar con el compilador GNU para Java en lugar de JDK de Sun

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

  •  18-09-2019
  •  | 
  •  

Pregunta

Estoy trabajando en un proyecto de la escuela donde yo estoy obligado a utilizar el compilador de GNU para Java. Siempre he trabajado con el JDK de Sun oficial y ahora estoy preocupado por las diferencias que puedan complicar mi trabajo.

Estoy especialmente interesado en la versión de Java es la apoyada por el compilador más reciente GCJ

Podría alguien arrojar alguna luz en las diferencias entre uno u otro?

PD: He buscado en google pero fracasó en la búsqueda de una respuesta reciente

¿Fue útil?

Solución

Desde gcj es un compilador de GNU en la parte superior de rutas de clases que necesita las diferencias entre JDK oficial y GNU Classpath. Para SUN JDK 1.4 ver este para SUN JDK 1.5 Ver éste su lugar.

Otros consejos

Si esta respuesta debería ser la respuesta más votado, esto significa que usted debe preguntar a su prof de complacer a reconsiderar por qué está haciendo utiliza una plataforma tan inusual. En el mundo real, la gente usa Sun JDK predominantemente. No veo esta cambiando mucho en el futuro cercano. Es un producto de calidad, en su mayor parte.

puede ser esto ayudando a aprender?

Bien desde su página de inicio:

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. 

Desde el sitio web CGPJ. Parece que el compilador de GNU es un compilador antes de tiempo y no un compilador justo a tiempo como Sun. Así que hay una diferencia allí mismo. La portada es un poco vago y referencias que tiene algunas instalaciones de interpretación de código byte integradas en el tiempo de ejecución libgcj.

Yo sería cuidadoso de cualquier biblioteca que cubre la mayor parte de las bibliotecas 1.4 y 1.5. Si se dirige a 1.4 su probablemente bien. 1.6 y es probable que estés en un mundo de dolor.

Tenga en cuenta si CGPJ sólo puede interpretar archivos de clase, entonces podría ser mucho más lenta la ejecución de código no compilado de compilador JIT de solar.

Me he encontrado diferencias sutiles en la fecha de análisis sintáctico última vez que miré.

A medida que la máquina virtual Java de GNU no ha pasado el Java TCK se debe, básicamente, tratarla como una nueva plataforma con las pruebas de todo lo necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top