java - para - ¿Qué es el "nivel de cumplimiento del compilador" en Eclipse?
java eclipse tutorial (4)
Durante un tiempo intenté entender, pero aún no entiendo exactamente qué significa el "nivel de cumplimiento del compilador" para un proyecto en Eclipse. Revisé todo este sitio y Google y no pude encontrar una respuesta que pudiera entender.
Digamos que quiero que mi programa pueda ejecutarse en JRE 6.
Puedo hacer: Project> Preferences> Java Build Path> Libraries, y configurar la biblioteca JRE que uso para JRE 6.
¿Por qué no es esto suficiente?
Nunca entendí por qué también necesito establecer la configuración de cumplimiento del compilador en JRE 6.
Me gustaría entender la diferencia entre utilizar JRE 6 en un proyecto y establecer la configuración de cumplimiento del compilador del proyecto en JRE 6.
¿Qué significa exactamente el nivel de cumplimiento del compilador?
El compilador de Java puede compilar código que se ejecutará en versiones anteriores de la JVM. Incluso si tiene JDK 6 instalado, podría escribir código específico para personas que usan JDK 5. El nivel de cumplimiento del compilador le dice a Eclipse que use la configuración adecuada al compilar su proyecto para asegurarse de que el código funcione en la JVM de destino que especifique. De manera predeterminada, si recuerdo, Eclipse elige cumplimiento con Java 5. Si desea utilizar funciones de código específicas para Java 6 o Java 7, deberá cambiar el nivel de conformidad.
La configuración de cumplimiento del compilador le dice al compilador que simule que es una versión diferente de Java.
El compilador de Java 8 producirá archivos de clase en la versión Java 8 del formato de archivo de clase y aceptará los archivos fuente de Java 8. JRE 6 no puede cargar esta versión, porque fue creada después de JRE 6.
Si establece el nivel de conformidad en "JRE 6", en su lugar compilará los archivos fuente de Java 6 en los archivos de la clase Java 6.
Es como guardar un documento de Word como "formato de Word 97-2003", para que Word 97-2003 pueda leer su documento. Está guardando los archivos de clase en formato Java 6 para que Java 6 pueda leerlos.
La forma más simple de describir la configuración del "cumplimiento del compilador de Java" es que determina qué instrucciones de la máquina virtual de Java se pueden usar en el código de Java "compilado" ... y qué versiones de la clase de la biblioteca se utilizarán. Cada versión de la JVM (y sus bibliotecas) puede presentar nuevas instrucciones (la VM) o ajustar las bibliotecas de clases que se entregan junto con la JVM.
Debe establecer la configuración en el nivel más bajo de JVM en el que espera que se ejecute su producto.
Te dice a qué versión del JDK te estás adhiriendo; específicamente, a qué JRE te estás dirigiendo con tu compilación.
Es el MÍNIMO JRE necesario para ejecutar su código