Java 8 vs java 11 vs java 17
y la versión de Tomcat si utiliza Tomcat. Seleccione Java 8 u 11. Recuerde que puede realizar este cambio de configuración en un espacio de despliegue para probar de forma segura el cambio de configuración y, a continuación, pasar el nuevo entorno a producción. (Java 7 puede ocultarse para evitar que los clientes adopten dependencias de tiempos de ejecución antiguos). Para obtener más información, consulte Configuración de entornos de ensayo en Azure App Service.
Puede utilizar la configuración de la aplicación JAVA_TOOLS si necesita especificar nuevas opciones de tiempo de ejecución, y se aplicarán cuando se inicie su aplicación. Para obtener más información, consulte Configuración de una aplicación Java para Azure App Service. Para obtener más información acerca de las políticas de soporte para los tiempos de ejecución en App Service, consulte la sección Built-in languages and frameworks de la descripción general de App Service.
Versiones de Java
Desde el lanzamiento del JDK 1.0 (Java 1.0) en 1996, Java se ha ganado un gran número de seguidores entre estudiantes, jefes de proyecto y programadores que son usuarios activos. Es un lenguaje expresivo y sigue utilizándose en proyectos grandes y pequeños. Su evolución (mediante la adición de nuevas características) desde Java 1.1 (1997) hasta Java 7 (2011) ha sido bien gestionada. Java 8 se lanzó en marzo de 2014. Así que la pregunta es la siguiente: ¿por qué debería importarte Java 8?
Sostenemos que los cambios de Java 8 son en muchos aspectos más profundos que cualquier otro cambio de Java en su historia. La buena noticia es que los cambios le permiten escribir programas más fácilmente, en lugar de escribir código verboso como el siguiente (para ordenar una lista de manzanas en inventario en función de su peso),
Java 11 frente a Java 8
Puede utilizar esta guía para obtener información práctica sobre cómo encontrar e instalar la última versión de Java, comprender las diferencias entre las distribuciones de Java (Adoptium, AdoptOpenJdk, OpenJDK, OracleJDK, etc.), así como obtener una visión general de las características del lenguaje Java, incluidas las versiones Java 8-19.
Las nuevas versiones de Java se suceden ahora cada 6 meses. Así, Java 20 está prevista para marzo de 2023, Java 21 para septiembre de 2023 y así sucesivamente. En el pasado, los ciclos de lanzamiento de Java eran mucho más largos, de hasta 3-5 años. Este gráfico lo demuestra:
Las versiones de Java anteriores a la 9 simplemente tenían un esquema de nomenclatura diferente. Así, Java 8 también puede llamarse 1.8, Java 5 puede llamarse 1.5, etc. Cuando emitías el comando ‘java -version’, con estas versiones obtenías una salida como esta:
Que simplemente significa Java 8. Con el cambio a versiones basadas en el tiempo con Java 9, el esquema de nomenclatura también cambió, y las versiones de Java ya no llevan el prefijo 1.x. Ahora el número de versión tiene este aspecto:
Java es especial en este sentido, ya que es extremadamente compatible con versiones anteriores. Esto significa que su programa Java 5 u 8 está garantizado para funcionar con una máquina virtual Java 8-19 – con algunas excepciones de las que no necesita preocuparse por ahora.
Novedades de Java 8
Los siguientes documentos de compatibilidad realizan un seguimiento de la incompatibilidad entre versiones de Java adyacentes. Por ejemplo, esta página de compatibilidad sólo informa de las incompatibilidades de Java SE 8 con Java SE 7, y no con versiones anteriores. Para examinar las incompatibilidades de Java SE 8 con versiones anteriores de Java, debe rastrear las incompatibilidades a través de los archivos enumerados, en orden.
Java SE 8 es binario-compatible con Java SE 7 excepto por las incompatibilidades listadas a continuación. A excepción de las incompatibilidades indicadas, los archivos de clase creados con el compilador de Java SE 7 se ejecutarán correctamente en Java SE 8. Los archivos de clase creados con el compilador de Java SE 8 no se ejecutarán en versiones anteriores de Java SE.
En general, la política de compatibilidad de fuentes consiste en evitar la introducción de incompatibilidades de código fuente. Sin embargo, la implementación de algunas funciones de Java SE 8 requirió cambios que podrían hacer que el código compilado con Java SE 7 no se compilara con Java SE 8. Consulte Incompatibilidades entre Java SE 8 y Java SE 7 e Incompatibilidades entre JDK 8 y JDK 7 para obtener más información.