¿Cuál es la diferencia entre usar JDK 7 vs usar JDK 8 con el nivel de cumplimiento del compilador 1.7?

Me preguntaba si hay alguna diferencia ejecutando / la construcción de un software bajo JDK 8 y el uso de nivel de cumplimiento del compilador 1.7 vs JDK 7 como sistema predeterminado? Estoy más interesado en la referencia a la construcción de Android, la construcción de aplicaciones, Eclipse, Android Studio, etc

Sí, hay un montón de nuevas clases en el JDK 1.8, por ejemplo, las clases java.time. Usted no conseguirá ésos si usted construye en JDK 1.7; pero usted podrá utilizarlos si construye en JDK 1.8 con el nivel de cumplimiento del compilador 1.7.

Sí hay una diferencia entre ejecutar / construir un software bajo JDK 8 y usar el nivel de cumplimiento del compilador 1.7 vs JDK 7 como predeterminado del sistema.

  1. ejecutando un software bajo JDK 8 y usando el nivel de cumplimiento del compilador: Compila en jdk 1.7 pero ejecuta en 1.8. No hay problema, su programa funcionará según sea necesario.

  2. JDK 7 como sistema predeterminado: Se compila en la versión 1.7 y se ejecuta en la misma versión.

Me pregunto en caso de que le gustaría utilizar el primer caso?

carga de camión de la diferencia en realidad. Con JDKs, el nivel de cumplimiento es una directiva para que el compilador utilice específicamente las optimizaciones y las funciones de enlace para la versión especificada. Tiene mucho más que ir bajo el capó, pero no creo que quieras saber eso. Las nuevas versiones de JDK traen nuevas características y los compiladores en esas versiones son capaces de entender y vincular esas características al crear archivos de clase o código ensamblado de los archivos Java de origen. En consecuencia, el tiempo de ejecución de JVM en esos JDKS también está equipado para manejar tales optimizaciones y casos y procesarlos. Por lo tanto, sin niveles de cumplimiento, el archivo de clase que construye con JDK8 sólo se ejecutaría correctamente con los tiempos de ejecución basados ​​en JDK8. No pueden hacerlo con JDK7 o 6. Para contrarrestar este problema y así permitir que su código compilado JDK8 se ejecute en JDK8,7 y tal vez incluso en 6, hyou necesidad de agregar nivel de cumplimiento a las directrices del compilador en consecuencia. Lo malo es que no puede ser capaz de utilizar algunas de las últimas características que el compilador ofrece, pero estos casos son muy pocos y superan la necesidad de interoperabilidad y potability.

  • Problemas con zona horaria incorrecta en Android
  • Eclipse libGDX no se puede ejecutar como aplicación Android
  • newInstance () con Java personalizado genérico?
  • Hacer un estado seleccionado para textview (resaltado)
  • Carga pesada en el hilo que causa problemas de memoria
  • Cómo mostrar 3 fragmentos dentro de PageViewer
  • Observable vs Flujo rxJava2
  • Implementación de DLNA / UPnP (Win7 Play To) en un dispositivo móvil
  • No se puede instanciar la actividad ... Causado por ClassNotFoundException
  • Java.lang.Thread.setPriority vs android.os.Process.setThreadPriority
  • Java (Android) Insertar icono en lienzo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.