El lenguaje Java ha sufrido varios cambios desde JDK 1.0, así como numerosas adiciones de clases y paquetes a la biblioteca estándar . Desde J2SE 1.4, la evolución del lenguaje Java se ha regido por Java Community Process (JCP), que utiliza Java Specification Requests (JSR) para proponer y especificar adiciones y cambios a la plataforma Java . El idioma está especificado por Java Language Specification (JLS); los cambios en el JLS se gestionan bajo JSR 901 .
Además de los cambios de idioma, se han realizado otros cambios en la biblioteca de clases de Java a lo largo de los años, que ha pasado de unos cientos de clases en JDK 1.0 a más de tres mil en J2SE 5. API completamente nuevas , como Swing y Java2D , Se han introducido, y muchas de las clases y métodos originales de JDK 1.0 han quedado obsoletos . Algunos programas permiten la conversión de programas Java de una versión de la plataforma Java a una más antigua (por ejemplo, Java 5.0 con versiones anteriores de la versión 1.4) (consulte Herramientas de compatibilidad con Java ).
Con respecto a Oracle Java SE Support Roadmap, [1] la versión 11 es la versión de soporte a largo plazo (LTS) actualmente admitida , junto con Java 8 LTS, donde los clientes de Oracle recibirán Oracle Premier Support. La última actualización pública de software gratuito de Java 8 LTS para uso comercial fue lanzada por Oracle en enero de 2019, mientras que Oracle continúa lanzando actualizaciones públicas gratuitas de Java 8 para desarrollo [1] y uso personal indefinidamente. [2] Java 10, una versión de lanzamiento rápido previamente admitida, terminó su soporte en septiembre de 2018, la misma fecha en que comenzó el soporte para Java 11. Java 7 ya no se admite públicamente. Para Java 11, Oracle no proporcionará soporte a largo plazo para el público; en cambio, se espera que la comunidad OpenJDK más amplia , como AdoptOpenJDK u otras, realice el trabajo. [3]
La disponibilidad general de Java 16 se produjo el 16 de marzo de 2021, y Java 17 ahora también está en desarrollo. [4]
Versión | Fecha de lanzamiento | Fin de las actualizaciones públicas gratuitas [1] [5] [6] [7] | Soporte extendido hasta |
---|---|---|---|
JDK Beta | 1995 | ? | ? |
JDK 1.0 | Enero de 1996 | ? | ? |
JDK 1.1 | Febrero de 1997 | ? | ? |
J2SE 1.2 | Diciembre de 1998 | ? | ? |
J2SE 1.3 | Mayo de 2000 | ? | ? |
J2SE 1.4 | Febrero de 2002 | Octubre de 2008 | febrero de 2013 |
J2SE 5.0 | Septiembre de 2004 | Noviembre de 2009 | Abril de 2015 |
Java SE 6 | Diciembre de 2006 | abril 2013 | Diciembre de 2018 Diciembre de 2023, soporte pagado para Zulu [8] |
Java SE 7 | Julio de 2011 | Abril de 2015 | Julio 2022 |
Java SE 8 (LTS) | Marzo del 2014 | Enero de 2019 para Oracle (comercial) Diciembre de 2030 para Oracle (no comercial) Diciembre de 2030 para Zulu Al menos mayo de 2026 para AdoptOpenJDK Al menos mayo de 2026 para Amazon Corretto | Diciembre de 2030 |
Java SE 9 | Septiembre de 2017 | Marzo de 2018 para OpenJDK | N / A |
Java SE 10 | Marzo de 2018 | Septiembre de 2018 para OpenJDK | N / A |
Java SE 11 (LTS) | Septiembre de 2018 | Septiembre de 2027 para Zulu Al menos octubre de 2024 para AdoptOpenJDK Al menos septiembre de 2027 para Amazon Corretto | Septiembre de 2026 o septiembre de 2027 para, por ejemplo, Zulu [8] |
Java SE 12 | Marzo de 2019 | Septiembre de 2019 para OpenJDK | N / A |
Java SE 13 | Septiembre de 2019 | Marzo de 2020 para OpenJDK | N / A |
Java SE 14 | Marzo de 2020 | Septiembre de 2020 para OpenJDK | N / A |
Java SE 15 | Septiembre de 2020 | Marzo de 2021 para OpenJDK, marzo de 2023 para Zulu [8] | N / A |
Java SE 16 | Marzo 2021 | Septiembre de 2021 para OpenJDK | N / A |
Java SE 17 (LTS) | Septiembre 2021 | Septiembre de 2030 para zulú | TBA |
Leyenda: Versión antigua Versión anterior, aún mantenida Ultima versión Lanzamiento futuro |
Historia
En septiembre de 2017, Mark Reinhold, arquitecto jefe de la plataforma Java, propuso cambiar el tren de lanzamiento a "un lanzamiento de funciones cada seis meses" en lugar del programa actual de dos años, [9] [10] y luego la propuesta entró en vigencia. .
JDK 1.0
La primera versión fue lanzada el 23 de enero de 1996. [11] [12] La primera versión estable, JDK 1.0.2, se llama Java 1. [12]
JDK 1.1
Las principales adiciones al comunicado del 19 de febrero de 1997 incluyeron: [13]
- una amplia remodelación del modelo de eventos AWT
- clases internas agregadas al idioma
- JavaBeans
- JDBC
- RMI
- Reflexión que solo admitía Introspection, no fue posible ninguna modificación en tiempo de ejecución. (La capacidad de modificar objetos de forma reflexiva se agregó en J2SE 1.2, mediante la introducción de la clase AccessibleObject y sus subclases, como la clase Field ).
- Compilador JIT (Just In Time) en plataformas Microsoft Windows, producido para JavaSoft por Symantec
- Compatibilidad con internacionalización y Unicode procedente de Taligent [14]
J2SE 1.2
Zona de juegos con nombre en clave
El lanzamiento del 8 de diciembre de 1998 y los lanzamientos posteriores a J2SE 5.0 fueron renombrados retrospectivamente como Java 2 y el nombre de versión "J2SE" ( Java 2 Platform, Standard Edition ) reemplazó a JDK para distinguir la plataforma base de J2EE ( Java 2 Platform, Enterprise Edition ) y J2ME ( Java 2 Platform, Micro Edition ). Esta fue una versión muy significativa de Java, ya que triplicó el tamaño de la plataforma Java a 1520 clases en 59 paquetes. Las principales adiciones incluyeron: [15]
strictfp
palabra clave- la API gráfica de Swing se integró en las clases principales
- La JVM de Sun estaba equipada con un compilador JIT por primera vez
- Complemento de Java
- Java IDL , una implementación IDL para la interoperabilidad CORBA
- Colecciones marco
J2SE 1.3
Nombre en clave cernícalo
Los cambios más notables en el lanzamiento del 8 de mayo de 2000 fueron: [16] [17]
- HotSpot JVM incluido (HotSpot JVM se lanzó por primera vez en abril de 1999 para J2SE 1.2 JVM)
- RMI se modificó para admitir la compatibilidad opcional con CORBA
- Interfaz de directorio y nombres de Java (JNDI) incluida en las bibliotecas principales (anteriormente disponible como una extensión)
- Arquitectura del depurador de plataforma Java (JPDA)
- JavaSound
- Clases de proxy sintético
J2SE 1.4
Nombre en clave Merlin
La versión del 6 de febrero de 2002 fue la primera versión de la plataforma Java desarrollada bajo el Proceso de la comunidad Java como JSR 59 . Los principales cambios incluyeron: [18] [19]
- Cambios de idioma
assert
palabra clave (especificada en JSR 41 )
- Mejoras de la biblioteca
- Expresiones regulares modeladas a partir de expresiones regulares de Perl
- El encadenamiento de excepciones permite que una excepción encapsule la excepción original de nivel inferior
- Compatibilidad con el protocolo de Internet versión 6 ( IPv6 )
- E / S sin bloqueo (Java) (denominado NIO) (especificado en JSR 51 )
- API de registro (especificada en JSR 47 )
- API de E / S de imágenes para leer y escribir imágenes en formatos como JPEG y PNG
- Analizador XML integrado y procesador XSLT ( JAXP ) (especificado en JSR 5 y JSR 63 )
- Extensiones integradas de seguridad y criptografía ( JCE , JSSE , JAAS )
- Java Web Start incluido (Java Web Start se lanzó por primera vez en marzo de 2001 para J2SE 1.3) (especificado en JSR 56 )
- API de preferencias (
java.util.prefs
)
El soporte público y las actualizaciones de seguridad para Java 1.4 finalizaron en octubre de 2008. Las actualizaciones de seguridad pagas para los clientes de Oracle finalizaron en febrero de 2013. [20]
J2SE 5.0
Nombre en clave Tigre
El lanzamiento del 30 de septiembre de 2004 se numeró originalmente como 1.5, que todavía se usa como el número de versión interno. El número se cambió para "reflejar mejor el nivel de madurez, estabilidad, escalabilidad y seguridad del J2SE". [21] Esta versión fue desarrollada bajo JSR 176 .
J2SE 5.0 entró en su período de finalización de actualizaciones públicas el 8 de abril de 2008; las actualizaciones ya no están disponibles para el público a partir del 3 de noviembre de 2009. Las actualizaciones estuvieron disponibles para los clientes de pago de Oracle hasta mayo de 2015. [1]
Tiger agregó una serie de nuevas características importantes del lenguaje: [22] [23]
- Genéricos : proporciona seguridad de tipo en tiempo de compilación (estática) para colecciones y elimina la necesidad de la mayoría de tipos (conversión de tipo) (especificado por JSR 14 )
- Metadatos : también llamados anotaciones ; permite que las construcciones del lenguaje, como clases y métodos, se etiqueten con datos adicionales, que luego pueden ser procesados por utilidades con reconocimiento de metadatos (especificadas por JSR 175 )
- Autoboxing / unboxing: conversiones automáticas entre tipos primitivos (como
int
) y clases de envoltura primitiva (comoInteger
) (especificadas por JSR 201 ) - Enumeraciones : la
enum
palabra clave crea una typesafe , lista ordenada de valores (comoDay.MONDAY
,Day.TUESDAY
, etc.); anteriormente, esto solo se podía lograr mediante enteros constantes no seguros para tipos o clases construidas manualmente (patrón de enumeración seguro para tipos) (especificado por JSR 201 ) - Varargs : el último parámetro de un método ahora se puede declarar usando un nombre de tipo seguido de tres puntos (p
void drawtext(String... lines)
. Ej. ); en el código de llamada se puede usar cualquier número de parámetros de ese tipo y luego se colocan en una matriz para pasar al método, o alternativamente, el código de llamada puede pasar una matriz de ese tipo for each
Bucle mejorado : lafor
sintaxis del bucle se amplía con una sintaxis especial para iterar sobre cada miembro de una matriz o cualquieraIterable
, como lasCollection
clases estándar (especificadas por JSR 201 )- Semántica de ejecución mejorada para programas Java de subprocesos múltiples; el nuevo modelo de memoria de Java aborda cuestiones de complejidad, eficacia y rendimiento de especificaciones anteriores [24]
- Importaciones estáticas
También hubo las siguientes mejoras en las bibliotecas estándar:
- Generación automática de stub para objetos RMI
- Swing : nueva apariencia y sensación que se pueden personalizar , llamada sintetizador
- Las utilidades de concurrencia en el paquete [25]java.util.concurrent
- Clase de escáner para analizar datos de varios flujos de entrada y búferes
Java 5 es la última versión de Java que admite oficialmente Microsoft Windows 98 y Windows ME , [26] mientras que Windows Vista era la versión más nueva de Windows en la que se admitía J2SE 5 antes de que Java 5 dejara de funcionar en octubre de 2009. . [20]
Java 5 Update 5 (1.5.0_05) es la última versión de Java que funciona en Windows 95 (con Internet Explorer 5.5 instalado) y Windows NT 4.0 . [27]
Java 5 estuvo disponible por primera vez en Apple Mac OS X 10.4 (Tiger) [28] y era la versión predeterminada de Java instalada en Apple Mac OS X 10.5 (Leopard).
El soporte público y las actualizaciones de seguridad para Java 1.5 finalizaron en noviembre de 2009. Las actualizaciones de seguridad pagas para los clientes de Oracle finalizaron en abril de 2015.
Cambio de versión
Esta versión introdujo un nuevo sistema de control de versiones para el lenguaje Java, aunque el antiguo sistema de control de versiones siguió utilizándose para las bibliotecas de desarrollo:
Ambos números de versión "1.5.0" y "5.0" se utilizan para identificar esta versión de Java 2 Platform Standard Edition. La versión "5.0" es la versión del producto, mientras que "1.5.0" es la versión para desarrolladores. El número "5.0" se utiliza para reflejar mejor el nivel de madurez, estabilidad, escalabilidad y seguridad del J2SE.
- ¿ Versión 1.5.0 o 5.0?[29]
Esta correspondencia continuó hasta las versiones posteriores (Java 6 = JDK 1.6, Java 7 = JDK 1.7, etc.).
Actualizaciones de Java 5
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 5 | 2004-10-04 | Metadatos, tipos genéricos, autoboxing y auto-unboxing de tipos primitivos, for bucle mejorado , tipos enumerados, importación estática, E / S formateada, varargs y utilidades de concurrencia Tiempo de inicio y espacio de memoria mejorados. Uso compartido de datos de solo lectura entre varias JVM en ejecución. Supervisión y gestión remota. Una nueva API de creación de perfiles de JVM. Generación programática de seguimientos de pila. Soporte para XML 1.1 con espacios de nombres, esquema XML, SAX 2.0.2, DOM Nivel 3 y XSLT con un compilador XSLTC rápido. Soporte Unicode 4.0. |
Java SE 5 Actualización 1 | 2004-12-25 | Se han corregido 50 errores. |
Java SE 5 Actualización 2 | 2005-03-16 | Se solucionaron algunos accidentes. El programa ahora está compilado con una mejor optimización. Se realizaron correcciones de errores de calendario y otras correcciones de errores. |
Java SE 5 Actualización 3 | 2005-05-03 | Esta versión corrige varios errores, incluidos los bloqueos del complemento de Mozilla para Linux. |
Java SE 5 Actualización 4 | 2005-07-04 | Con el lanzamiento, la compatibilidad con J2SE para Windows de 64 bits ha progresado desde la versión candidata a la versión final. Esta versión se ejecuta en máquinas en modo AMD64 / EM64T de 64 bits con Windows Server 2003 x64 Edition. |
Java SE 5 Update 5 | 2005-09-18 | Se corrigieron varios errores y se realizaron mejoras de rendimiento. Última versión para Windows 95 y Windows NT 4.0. |
Java SE 5 Update 6 | 2005-12-07 | Antes de esta actualización, un subprograma o aplicación podría especificar la versión del JRE en la que se ejecutaría. Esto ha cambiado. Todos los subprogramas se ejecutan con la última versión de JRE. |
Java SE 5 Update 7 | 2006-05-29 | Se corrigieron varios errores y se realizaron mejoras de rendimiento. |
Java SE 5 Actualización 8 | 2006-08-13 | Se corrigieron varios errores y se realizaron mejoras de rendimiento. |
Java SE 5 Update 9 | 2006-11-12 | Esta versión corrige varias regresiones menores. |
Java SE 5 Actualización 10 | 2006-12-22 | Se agregó una implementación de la función de notificación de eventos epoll I / O, compatible con Linux 2.6. Se solucionaron muchos errores. |
Java SE 5 Update 11 | 2007-03-08 | Se corrigieron varios errores y se realizaron mejoras de rendimiento. |
Java SE 5 Update 12 | 2007-06-11 | |
Actualización 13 de Java SE 5 | 2007-10-05 | Se solucionaron varias vulnerabilidades de seguridad en Java Web Start relacionadas con el acceso a archivos locales. Se solucionó una vulnerabilidad de seguridad en el JRE que permitía eludir las restricciones de acceso a la red. Se solucionaron varios otros problemas de seguridad y errores menores. |
Java SE 5 Update 14 | ||
Actualización 15 de Java SE 5 | 2008-03-06 | Se corrigieron varios bloqueos debido a que el búfer de pila estaba fuera de los límites, junto con varios otros errores. Ahora se incluyen nuevos certificados raíz de AOL, DigiCert y TrustCenter. |
Java SE 5 Actualización 16 | 2008-07-23 | Esta versión corrige varias fallas de seguridad, como vulnerabilidades DoS, desbordamientos de búfer y otros errores que podrían provocar fallas o que darían acceso a los subprogramas a ciertos recursos del sistema. Estas vulnerabilidades se ubicaron en Java Web Start, en el Agente de administración de Java Management Extensions (JMX) y en las funciones para manejar datos XML. |
Actualización 17 de Java SE 5 | 2008-12-03 | La implementación del juego de caracteres UTF-8 se actualizó para manejar la forma no más corta de secuencias de bytes UTF-8, introduciendo una incompatibilidad de versiones anteriores. Se agregaron nuevos certificados raíz. Se solucionaron muchos errores. |
Actualización 18 de Java SE 5 | 2009-03-25 | Se resolvieron varios problemas de seguridad. El comportamiento de la función JNDI para almacenar y recuperar objetos Java en un directorio LDAP se modificó ligeramente. Se agregaron cinco nuevos certificados raíz. Se solucionaron muchos errores. |
Actualización 19 de Java SE 5 | 2009-05-29 | Se agregó soporte para varias configuraciones del sistema. Se agregó compatibilidad con etiquetas de servicio. Se solucionaron muchos errores, incluidos varios bloqueos y pérdidas de memoria. |
Java SE 5 Update 20 | 2009-08-06 | Se resolvieron varias vulnerabilidades de seguridad, como el acceso potencial al sistema por parte de subprogramas que no son de confianza y los desbordamientos de enteros en el procesamiento de imágenes y en Unpack200. Se agregaron varios certificados raíz nuevos. Se solucionaron muchos otros errores menores. |
Actualización 21 de Java SE 5 | 2009-09-09 | Se solucionaron muchos errores menores. |
Actualización 22 de Java SE 5 | 2009-11-04 | Esta versión marca el fin de la vida útil (EOSL) para Java 5 y es su versión pública final. Se solucionaron varias vulnerabilidades de seguridad, informadas como Sun Alerts 269868, 270474, 270475 y 270476. Se solucionaron varios otros errores. Además, se agregaron dos nuevos certificados raíz. |
Actualización 23 de Java SE 5 | 2010-01-13 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 32 correcciones de seguridad. |
Actualización 24 de Java SE 5 | 2010-04-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 2 correcciones de seguridad. |
Actualización 25 de Java SE 5 | 2010-07-07 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 26 correcciones de seguridad. |
Actualización 26 de Java SE 5 | 2010-10-12 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 2 correcciones de seguridad. |
Actualización 27 de Java SE 5 | 2010-12-08 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 22 correcciones de seguridad. |
Actualización 28 de Java SE 5 | 2011-02-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 22 correcciones de seguridad [30] |
Actualización 29 de Java SE 5 | 2011-03-21 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 21 correcciones de seguridad. |
Actualización 30 de Java SE 5 | 2011-06-07 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 1 solución de seguridad. |
Actualización 31 de Java SE 5 | 2011-08-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 10 correcciones de seguridad. |
Actualización 32 de Java SE 5 | 2011-10-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 20 correcciones de seguridad [31] |
Actualización 33 de Java SE 5 | 2011-12-12 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 21 correcciones de seguridad. |
Actualización 34 de Java SE 5 | 2012-02-14 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 14 correcciones de seguridad [32] |
Actualización 35 de Java SE 5 | 2012-04-26 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 5 correcciones de seguridad. |
Actualización 36 de Java SE 5 | 2012-06-12 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 14 correcciones de seguridad [33] |
Actualización 38 de Java SE 5 | 2012-08-14 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 30 correcciones de seguridad [34] |
Actualización 39 de Java SE 5 | 2013-02-19 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 50 correcciones de seguridad [35] |
Java SE 5 Update 40 | 2013-02-19 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 5 correcciones de seguridad [36] |
Actualización 41 de Java SE 5 | 2013-03-04 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 2 correcciones de seguridad [37] |
Actualización 45 de Java SE 5 | 2013-04-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 42 correcciones de seguridad [38] |
Actualización 51 de Java SE 5 | 2013-06-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 40 correcciones de seguridad [39] |
Actualización 55 de Java SE 5 | 2013-10-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 51 correcciones de seguridad [40] |
Actualización 61 de Java SE 5 | 2014-01-14 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 36 arreglos de seguridad [41] |
Java SE 5 Actualización 65 | 2014-04-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 37 correcciones de seguridad [42] |
Actualización 71 de Java SE 5 | 2014-07-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 20 correcciones de seguridad [43] |
Actualización 75 de Java SE 5 | 2014-10-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 25 correcciones de seguridad [44] |
Actualización 81 de Java SE 5 | 2015-01-21 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 19 correcciones de seguridad [45] |
Actualización 85 de Java SE 5 | 2015-04-14 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 14 correcciones de seguridad [46] |
Java SE 6
Nombre en clave Mustang
A partir de la versión lanzada el 11 de diciembre de 2006, Sun reemplazó el nombre "J2SE" por Java SE y eliminó el ".0" del número de versión. [47] La numeración interna para desarrolladores sigue siendo 1.6.0. [48]
Esta versión fue desarrollada bajo JSR 270 .
Durante la fase de desarrollo, se lanzaron nuevas compilaciones, incluidas mejoras y correcciones de errores, aproximadamente cada semana. Las versiones beta se lanzaron en febrero y junio de 2006, lo que condujo a una versión final que se produjo el 11 de diciembre de 2006.
Principales cambios incluidos en esta versión: [49] [50]
- Se eliminó el soporte para versiones anteriores de Win9x; Extraoficialmente, Java 6 Update 7 fue la última versión de Java que se demostró que funciona en estas versiones de Windows. [ cita requerida ] Esto se cree [¿ por quién? ] debido a los principales cambios en la Actualización 10.
- Soporte de lenguaje de scripting ( JSR 223 ): API genérica para una estrecha integración con lenguajes de scripting e integración incorporada de Mozilla JavaScript Rhino .
- Mejoras drásticas en el rendimiento de la plataforma central, [51] [52] y Swing .
- Soporte de servicio web mejorado a través de JAX-WS ( JSR 224 ).
- Soporte JDBC 4.0 ( JSR 221 ).
- API de compilador de Java ( JSR 199 ): una API que permite a un programa Java seleccionar e invocar un compilador de Java mediante programación.
- Actualización de JAXB a la versión 2.0: incluida la integración de un analizador StAX .
- Soporte para anotaciones conectables ( JSR 269 ). [53]
- Muchas mejoras de la GUI , como la integración de SwingWorker en la API, la clasificación y el filtrado de tablas y el verdadero doble búfer de Swing (eliminando el efecto de área gris).
- Las mejoras de JVM incluyen: optimización del rendimiento de la sincronización y del compilador , nuevos algoritmos y actualizaciones de los algoritmos de recolección de basura existentes y rendimiento de inicio de la aplicación.
Java 6 se puede instalar en Mac OS X 10.5 (Leopard) que se ejecuta en máquinas con procesador de 64 bits (Core 2 Duo y superior). [54] Java 6 también es compatible con máquinas de 32 y 64 bits que ejecutan Mac OS X 10.6 (Snow Leopard).
Java 6 llegó al final de su vida útil admitida en febrero de 2013, momento en el que se programó la detención de todas las actualizaciones públicas, incluidas las actualizaciones de seguridad. [55] [56] Oracle lanzó dos actualizaciones más de Java 6 en marzo y abril de 2013, que corrigieron algunas vulnerabilidades de seguridad. [57] [58]
Actualizaciones de Java 6
Después del lanzamiento de Java 6, Sun y, posteriormente, Oracle, lanzaron varias actualizaciones que, aunque no cambiaron ninguna API pública, mejoraron la usabilidad del usuario final o corrigieron errores. [59]
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 6 | 2006-12-23 | Esta versión agrega muchas mejoras en los campos de servicios web, secuencias de comandos, bases de datos, anotaciones conectables y seguridad, así como calidad, compatibilidad y estabilidad. JConsole ahora es compatible oficialmente. Se ha agregado compatibilidad con Java DB. |
Java SE 6 Actualización 1 | 2007-05-07 | |
Java SE 6 Update 2 | 2007-07-03 | |
Java SE 6 Update 3 | 2007-10-03 | |
Java SE 6 Update 4 | 2008-01-14 | HotSpot VM 10 |
Java SE 6 Update 5 | 2008-03-05 | Se eliminaron varias fallas de seguridad. Ahora se incluyen nuevos certificados raíz de AOL, DigiCert y TrustCenter. |
Java SE 6 Update 6 | 2008-04-16 | Se introdujo una solución para el infame problema de aserción de bloqueo de Xlib / XCB. Se solucionó una pérdida de memoria al usar la autenticación Kerberos con LoginContext. Se solucionaron varios otros errores. |
Java SE 6 Update 7 [60] | Extraoficialmente, Java SE 6 Update 7 (1.6.0.7) es la última versión de Java que se demostró que funciona en la familia de sistemas operativos Win9x [ cita requerida ] | |
Actualización 10 de Java SE 6 [61] | 2008-10-15 | HotSpot VM 11. Los principales cambios de esta actualización incluyen:
|
Actualización 11 de Java SE 6 [63] | 2008-12-03 | 13 correcciones de seguridad [64] |
Actualización 12 de Java SE 6 [65] | 2008-12-12 | Sin correcciones de seguridad; Complemento de Java de 64 bits (solo para navegadores web de 64 bits); Compatibilidad con Windows Server 2008 ; mejoras de rendimiento de gráficos y aplicaciones JavaFX |
Actualización 13 de Java SE 6 [66] | 2009-03-24 | 7 correcciones de seguridad, JNDI almacena y recupera objetos Java en LDAP ligeramente modificado, JMX Change (createMBeanunregisterMBean), 4 nuevos certificados raíz agregados |
Actualización 14 de Java SE 6 [67] | 2009-05-28 | HotSpot VM 14. Esta versión incluye amplias actualizaciones de rendimiento del compilador JIT, punteros comprimidos para máquinas de 64 bits, así como compatibilidad con el recolector de basura de pausa baja G1 (Garbage First). [68] [69] La Algunos desarrolladores han notado un problema introducido en esta versión que hace que los depuradores pierdan puntos de interrupción aparentemente al azar. [71] Sun tiene un error correspondiente, que está rastreando el problema. La solución alternativa se aplica a las máquinas virtuales cliente y servidor. [72] El uso de la |
Actualización 15 de Java SE 6 | 2009-08-04 | Se introdujo la funcionalidad de parche en el lugar [73] |
Java SE 6 Update 16 | 2009-08-11 | Se solucionó el problema introducido en la actualización 14 que causaba que los depuradores perdieran puntos de interrupción [74] |
Actualización 17 de Java SE 6 [75] | 2009-11-04 | Correcciones de seguridad; dos nuevos certificados raíz |
Actualización 18 de Java SE 6 [76] | 2010-01-13 | Sin correcciones de seguridad; Hotspot VM 16; soporte para Ubuntu 8.04 LTS Desktop Edition, SLES 11, Windows 7 , Red Hat Enterprise Linux 5.3, Firefox 3.6, VisualVM 1.2; base de datos Java actualizada; muchas mejoras de rendimiento |
Actualización 19 de Java SE 6 [77] | 2010-03-30 | Correcciones de seguridad; cambios en el certificado raíz: siete nuevos, tres eliminados, cinco reemplazados con algoritmos de firma más sólidos; arreglo provisional para el ataque de renegociación de TLS |
Actualización 20 de Java SE 6 [78] | 2010-04-15 | 2 correcciones de seguridad |
Actualización 21 de Java SE 6 [79] | 2010-07-07 | Sin correcciones de seguridad; Hotspot VM 17; soporte para Red Hat Enterprise Linux 5.4 y 5.5, Oracle Enterprise Linux 4.8, 5.4, 5.5; Soporte de Google Chrome 4; soporte para indicadores de progreso de carga personalizados; VisualVM 1.2.2 |
Actualización 22 de Java SE 6 [80] | 2010-10-12 | 29 arreglos de seguridad; Soporte RFC 5746 |
Actualización 23 de Java SE 6 [81] | 2010-12-08 | Sin correcciones de seguridad; Hotspot VM 19; mejor soporte para idiomas de derecha a izquierda |
Actualización 24 de Java SE 6 [82] | 2011-02-15 | 21 arreglos de seguridad; base de datos Java actualizada |
Actualización 25 de Java SE 6 | 2011-03-21 | Sin correcciones de seguridad; Hotspot VM 20; soporte para Internet Explorer 9 , Firefox 4 y Chrome 10; BigDecimal mejorado; incluye "niveles" de compilación en la VM Server que permite que se inicie rápidamente como lo hace la máquina virtual del cliente, además de conseguir un mejor rendimiento pico (esta función está activada mediante la especificación -server y -XX:+TieredCompilation las opciones de comando) [83] |
Actualización 26 de Java SE 6 [84] | 2011-06-07 | 17 nuevas correcciones de seguridad; [85] última versión compatible con Windows Vista SP1 |
Actualización 27 de Java SE 6 [86] | 2011-08-16 | Sin correcciones de seguridad; certificación para Firefox 5 |
Actualización 29 de Java SE 6 [87] | 2011-10-18 | 20 correcciones de seguridad, varias correcciones de errores [88] |
Actualización 30 de Java SE 6 [89] | 2011-12-12 | Sin correcciones de seguridad; corrección de la regresión SSL en la Actualización 29; soporte para Red Hat Enterprise Linux 6 |
Actualización 31 de Java SE 6 [90] | 2012-02-14 | 14 correcciones de seguridad y una corrección de errores; la última versión funciona de forma fiable para Windows 2000 [91] |
Actualización 32 de Java SE 6 [92] | 2012-04-26 | Sin correcciones de seguridad, varias correcciones de errores |
Actualización 33 de Java SE 6 [93] | 2012-06-12 | 14 correcciones de seguridad, carga mejorada de archivos de configuración de VM |
Actualización 34 de Java SE 6 [94] | 2012-08-14 | Sin correcciones de seguridad, varias correcciones de errores |
Actualización 35 de Java SE 6 [95] | 2012-08-30 | Contiene una solución de seguridad en profundidad [96] |
Actualización 37 de Java SE 6 [97] | 2012-10-16 | 30 correcciones de seguridad |
Actualización 38 de Java SE 6 [98] | 2012-12-11 | Varias correcciones de errores [99] |
Actualización 39 de Java SE 6 [100] | 2013-02-01 | 50 correcciones de seguridad |
Actualización 41 de Java SE 6 [101] | 2013-02-19 | 5 correcciones de seguridad |
Actualización 43 de Java SE 6 [102] | 2013-03-04 | 2 correcciones de seguridad |
Actualización 45 de Java SE 6 [103] | 2013-04-16 | 42 arreglos de seguridad; [104] otros cambios; [103] actualización pública final. [105] |
Actualización 51 de Java SE 6 [106] | 2013-06-18 | No disponible públicamente, solo disponible a través del programa de soporte de Java SE y en Apple Update para OS X Snow Leopard, Lion & Mountain Lion; hasta 40 correcciones de seguridad [107] |
Actualización 65 de Java SE 6 [108] | 2013-10-15 | No disponible públicamente, solo disponible a través del programa de soporte de Java SE y en Apple Update para OS X Snow Leopard, Lion & Mountain Lion; al menos 11 correcciones de seguridad críticas [109] |
Actualización 71 de Java SE 6 [110] | 2014-01-14 | No disponible para descarga pública; 33 arreglos [111] |
Actualización 75 de Java SE 6 [112] | 2014-04-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el grupo de parches recomendado de Solaris 10 núm. # 54; 25 correcciones de seguridad [113] |
Actualización 81 de Java SE 6 [114] | 2014-07-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 11 correcciones de seguridad [115] |
Actualización 85 de Java SE 6 [116] | 2014-10-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 18 correcciones de seguridad [117] |
Actualización 91 de Java SE 6 [118] | 2015-01-21 | Las versiones de Linux x64 y Windows i586 están disponibles como Implementación de referencia de Java SE 6. [119] Otras versiones solo están disponibles a través del programa Java SE Support y en el cluster de parches recomendados de Solaris 10; 15 correcciones de seguridad [120] |
Actualización 95 de Java SE 6 | 2015-04-14 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 14 correcciones de seguridad [121] |
Actualización 101 de Java SE 6 | 2015-07-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 18 correcciones de seguridad [122] La certificación para IE 10 y 11 se introdujo en 1.6.0_101 |
Actualización 105 de Java SE 6 | 2015-10-20 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 17 correcciones de seguridad [123] |
Actualización 111 de Java SE 6 | 2016-01-20 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 13 correcciones de seguridad [124] |
Actualización 113 de Java SE 6 | 2016-02-05 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 1 corrección de seguridad [125] |
Actualización 115 de Java SE 6 | 2016-04-21 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 8 correcciones de seguridad [126] |
Actualización 121 de Java SE 6 | 2016-07-19 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 15 correcciones de seguridad [127] |
Actualización 131 de Java SE 6 | 2016-10-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 13 correcciones de seguridad [128] |
Actualización 141 de Java SE 6 | 2017-01-17 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 17 arreglos de seguridad [129] |
Actualización 151 de Java SE 6 | 2017-04-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 10 correcciones de seguridad [130] |
Actualización 161 de Java SE 6 | 2017-07-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 5 correcciones de seguridad [131] |
Actualización 171 de Java SE 6 | 2017-10-20 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 7 correcciones de seguridad [132] |
Actualización 181 de Java SE 6 | 2018-01-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 12 correcciones de seguridad [133] |
Actualización 191 de Java SE 6 | 2018-04-17 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 7 correcciones de seguridad [134] |
Actualización 201 de Java SE 6 | 2018-07-17 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 3 correcciones de seguridad [135] |
Actualización 211 de Java SE 6 | 2018-10-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 8 correcciones de seguridad [136] |
Java SE 7
Java 7 (nombre en clave Dolphin [137] ) es una actualización importante que se lanzó el 7 de julio de 2011 [138] y estuvo disponible para los desarrolladores el 28 de julio de 2011. [139] El período de desarrollo se organizó en trece hitos; el 6 de junio de 2011 finalizó el último de los trece hitos. [139] [140] En promedio, se lanzaron 8 compilaciones (que generalmente incluían mejoras y correcciones de errores) por hito. La lista de funciones del proyecto OpenJDK 7 enumera muchos de los cambios.
Las adiciones en Java 7 incluyen: [141]
- Soporte de JVM para lenguajes dinámicos , con el nuevo
invokedynamic
código de bytes bajo JSR-292, [142] siguiendo el trabajo de creación de prototipos que se realiza actualmente en la máquina virtual multilingüe. - Punteros comprimidos de 64 bits [143] (disponible en Java 6 con
-XX:+UseCompressedOops
) [144] - Estos pequeños cambios de idioma (agrupados en un proyecto llamado Coin): [145]
- Cadenas en interruptor [146]
- Gestión automática de recursos en declaración de prueba [147]
- Inferencia de tipo mejorada para la creación de instancias genéricas, también conocido como operador de diamante <> [148]
- Declaración del método varargs simplificado [149]
- Literales enteros binarios [150]
- Permitir guiones bajos en literales numéricos [151]
- Detectar varios tipos de excepciones y volver a generar excepciones con una verificación de tipo mejorada [152]
- Servicios públicos de simultaneidad con arreglo a JSR 166 [153]
- Nueva biblioteca de E / S de archivos (definida por JSR 203) que agrega soporte para múltiples sistemas de archivos, metadatos de archivos y enlaces simbólicos. Los nuevos paquetes son
java.nio.file
,java.nio.file.attribute
yjava.nio.file.spi
[154] [155] - Timsort se utiliza para ordenar colecciones y matrices de objetos en lugar de fusionar ordenación
- Soporte a nivel de biblioteca para algoritmos de criptografía de curva elíptica
- Una canalización de XRender para Java 2D, que mejora el manejo de funciones específicas de las GPU modernas
- Nuevas API de plataforma para las funciones de gráficos implementadas originalmente en la versión 6u10 como API no compatibles [156]
- Soporte mejorado a nivel de biblioteca para nuevos protocolos de red, incluidos SCTP y protocolo directo de sockets
- Actualizaciones ascendentes a XML y Unicode
- Conjuntos de reglas de implementación de Java [157]
Lambda (implementación de Java de funciones lambda ), Jigsaw (implementación de módulos de Java ) y parte de Coin se eliminaron de Java 7 y se lanzaron como parte de Java 8 (excepto Jigsaw , que se lanzó en Java 9). [158] [159]
Java 7 fue la versión predeterminada para descargar en java.com desde abril de 2012 hasta que se lanzó Java 8. [160]
Actualizaciones de Java 7
Oracle emitió actualizaciones públicas de la familia Java 7 trimestralmente [161] hasta abril de 2015, cuando el producto llegó al final de su disponibilidad pública. [162] Las actualizaciones adicionales para JDK 7, que están programadas para continuar hasta julio de 2022, solo están disponibles para los clientes con un contrato de soporte. [163]
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 7 [164] | 2011-07-28 | Versión inicial; HotSpot VM 21 |
Actualización 1 de Java SE 7 [165] | 2011-10-18 | 20 correcciones de seguridad, otras correcciones de errores |
Java SE 7 Actualización 2 [166] | 2011-12-12 | Sin correcciones de seguridad; HotSpot VM 22; mejoras de confiabilidad y rendimiento; soporte para Solaris 11 y Firefox 5 y posteriores; JavaFX incluido con Java SE JDK, mejoras para aplicaciones implementadas en la web |
Java SE 7 Actualización 3 [167] | 2012-02-14 | 14 correcciones de seguridad [168] |
Actualización 4 de Java SE 7 [169] | 2012-04-26 | Sin actualizaciones de seguridad; HotSpot VM 23; Soporte JDK para Mac OS X |
Actualización 5 de Java SE 7 [170] | 2012-06-12 | 14 correcciones de seguridad [171] |
Java SE 7 Update 6 [172] | 2012-08-14 | JavaFX y Java Access Bridge incluidos en la instalación de Java SE JDK y JRE, compatibilidad con JavaFX para monitores táctiles y almohadillas táctiles, compatibilidad con JavaFX para Linux, compatibilidad con JDK y JRE para Mac OS X, JDK para Linux en ARM [173] |
Java SE 7 Update 7 [174] | 2012-08-30 | 4 correcciones de seguridad [96] |
Actualización 9 de Java SE 7 [175] | 2012-10-16 | 30 correcciones de vulnerabilidades de seguridad [176] |
Actualización 10 de Java SE 7 [177] | 2012-12-11 | Nuevas funciones de seguridad, como la capacidad de deshabilitar la ejecución de cualquier aplicación Java en el navegador y nuevos cuadros de diálogo para advertirle cuando el JRE es inseguro, y corrección de errores. |
Actualización 11 de Java SE 7 [178] | 2013-01-13 | Olson Data 2012i; corrección de errores para problemas con el registro del complemento en sistemas con la versión independiente de JavaFX instalada, correcciones de seguridad para CVE - 2013-0422 ; [179] El nivel de seguridad predeterminado para los subprogramas Java y las aplicaciones de inicio web se ha aumentado de "Medio" a "Alto". |
Actualización 13 de Java SE 7 [180] | 2013-02-01 | 50 correcciones de seguridad |
Actualización 15 de Java SE 7 [181] | 2013-02-19 | 5 correcciones de seguridad |
Actualización 17 de Java SE 7 [182] | 2013-03-04 | 2 correcciones de seguridad |
Actualización 21 de Java SE 7 [183] | 2013-04-16 | Múltiples cambios que incluyen 42 correcciones de seguridad, un nuevo servidor JRE que no incluye el complemento y el JDK para Linux en ARM |
Actualización 25 de Java SE 7 [184] | 2013-06-18 | Varios cambios, incluidas 40 correcciones de seguridad [107] [185] |
Actualización 40 de Java SE 7 [186] | 2013-09-10 | 621 correcciones de errores, [187] Nuevas funciones de seguridad, ARM flotante , Java Mission Control 5.2 y compatibilidad con Retina Display [188] |
Actualización 45 de Java SE 7 [189] | 2013-10-15 | 51 arreglos de seguridad; [109] protecciones contra la redistribución no autorizada de aplicaciones Java; restaurar avisos de seguridad; Cambios JAXP; TimeZone.setDefault change |
Actualización 51 de Java SE 7 [190] | 2014-01-14 | 36 arreglos de seguridad; bloque de applets de Java sin manifiesta (como consola remota - Applet de Java - tarjeta de IBM IMM, HP tarjeta OIT), incluso si es de diálogo de advertencia con la frase "será bloqueada en la próxima versión", [191] [192] 17 correcciones de errores |
Actualización 55 de Java SE 7 [193] | 2014-04-15 | 37 correcciones de seguridad, [113] 19 correcciones de errores [194] |
Java SE 7 Update 60 [195] | 2014-05-28 | Java Mission Control 5.3, [196] 130 correcciones de errores [197] |
Actualización 65 de Java SE 7 [198] | 2014-07-15 | 18 correcciones de errores [199] |
Actualización 67 de Java SE 7 [200] | 2014-08-04 | 1 corrección de errores [200] |
Actualización 71 de Java SE 7 [201] | 2014-10-14 | 16 correcciones de errores [202] |
Actualización 72 de Java SE 7 [203] | 2014-10-14 | Misma fecha de lanzamiento con la Actualización 71 que la Actualización del Conjunto de Parches (PSU) correspondiente para Java SE 7, [204] 36 correcciones de errores [205] |
Actualización 75 de Java SE 7 [206] | 2015-01-20 | 12 correcciones de errores, [207] SSLv3 deshabilitado de forma predeterminada |
Actualización 76 de Java SE 7 [208] | 2015-01-20 | Misma fecha de lanzamiento con la Actualización 75 que la Actualización del Conjunto de Parches (PSU) correspondiente para Java SE 7, [204] 97 correcciones de errores [209] |
Actualización 79 de Java SE 7 [210] | 2015-04-14 | 21 correcciones de seguridad, 6 correcciones de errores, [211] |
Actualización 80 de Java SE 7 [212] | 2015-04-14 | Última versión pública de Java 7; misma fecha de lanzamiento con la Actualización 79 que la Actualización del Conjunto de Parches (PSU) correspondiente para Java SE 7, 104 correcciones de errores [213] |
Actualización 85 de Java SE 7 | 2015-07-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 25 correcciones de seguridad [214] |
Actualización 91 de Java SE 7 | 2015-10-20 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 20 correcciones de seguridad [215] |
Actualización 95 de Java SE 7 | 2016-01-19 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 8 correcciones de seguridad [216] |
Actualización 97 de Java SE 7 | 2016-02-05 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 1 corrección de seguridad [125] |
Actualización 99 de Java SE 7 | 2016-03-23 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 1 corrección de seguridad [217] |
Actualización 101 de Java SE 7 | 2016-04-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 22 correcciones de seguridad [218] |
Actualización 111 de Java SE 7 | 2016-07-19 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 36 correcciones de seguridad [127] |
Actualización 121 de Java SE 7 | 2016-10-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 32 correcciones de seguridad [128] |
Actualización 131 de Java SE 7 | 2017-01-17 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 34 arreglos de seguridad [129] |
Actualización 141 de Java SE 7 | 2017-04-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 8 correcciones de seguridad [219] |
Actualización 151 de Java SE 7 | 2017-07-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 4 correcciones de seguridad [131] |
Actualización 161 de Java SE 7 | 2017-10-20 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 4 correcciones de seguridad [132] |
Actualización 171 de Java SE 7 | 2018-01-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 51 arreglos de seguridad [133] |
Actualización 181 de Java SE 7 | 2018-04-17 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 12 correcciones de seguridad [134] |
Actualización 191 de Java SE 7 | 2018-07-17 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 9 correcciones de seguridad [135] |
Actualización 201 de Java SE 7 | 2018-10-18 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 13 correcciones de seguridad [136] |
Actualización 211 de Java SE 7 | 2019-01-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 5 correcciones de seguridad [220] |
Actualización 221 de Java SE 7 | 2019-04-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 5 correcciones de seguridad [221] |
Actualización 231 de Java SE 7 | 2019-07-16 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 6 correcciones de seguridad [222] |
Actualización 241 de Java SE 7 | 2019-10-15 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 15 correcciones de seguridad [223] |
Actualización 251 de Java SE 7 | 2020-01-14 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 12 correcciones de seguridad [224] |
Actualización 261 de Java SE 7 | 2020-04-14 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 15 correcciones de seguridad [225] |
Actualización 271 de Java SE 7 | 14 de julio de 2020 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 11 correcciones de seguridad [226] |
Actualización 281 de Java SE 7 | 2020-10-20 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 8 correcciones de seguridad [227] |
Actualización 291 de Java SE 7 | 2021-01-19 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 1 correcciones de seguridad [228] |
Actualización 301 de Java SE 7 | 2021-04-12 | No está disponible públicamente, solo está disponible a través del programa de soporte de Java SE y en el clúster de conjunto de parches recomendado de Solaris 10; 11 correcciones de seguridad [229] |
Java SE 8
Java 8 fue lanzado el 18 de marzo de 2014, [230] [231] e incluía algunas características que estaban planeadas para Java 7 pero que luego se pospusieron. [232]
El trabajo sobre las características se organizó en términos de propuestas de mejora de JDK (JEP) . [233]
- JSR 335, JEP 126: Soporte a nivel de lenguaje para expresiones lambda (oficialmente, expresiones lambda; extraoficialmente, cierres ) bajo Project Lambda [234] y métodos predeterminados ( métodos de extensión virtual ) [235] [236] [237] que permiten la adición de métodos a interfaces sin romper las implementaciones existentes. Hubo un debate en curso en la comunidad Java sobre si agregar soporte para expresiones lambda. [238] [239] Sun declaró más tarde que las expresiones lambda se incluirían en Java y solicitó información de la comunidad para refinar la función. [240] de apoyo expresiones lambda también permite funcionales operaciones al estilo en corrientes de elementos, tales como MapReduce , inspirada transformaciones en colecciones. Los métodos predeterminados permiten al autor de una API agregar nuevos métodos a una interfaz sin romper el código anterior al usarla. Aunque no era su intención principal, [235] los métodos predeterminados también permiten la herencia múltiple de comportamiento (pero no el estado).
- JSR 223, JEP 174: Project Nashorn , un tiempo de ejecución de JavaScript que permite a los desarrolladores incrustar código JavaScript dentro de las aplicaciones
- JSR 308, JEP 104: Anotación sobre tipos de Java [241]
- Aritmética de enteros sin signo [242]
- JSR 337, JEP 120: anotaciones repetidas [243]
- JSR 310, JEP 150: API de fecha y hora [244]
- JEP 178: Bibliotecas JNI vinculadas estáticamente [245]
- JEP 153: Lanzamiento de aplicaciones JavaFX (lanzamiento directo de JAR de aplicaciones JavaFX) [246]
- JEP 122: Eliminar la generación permanente [247]
Java 8 no es compatible con Windows XP [248], pero a partir de la actualización 25 de JDK 8, aún se puede instalar y ejecutar en Windows XP. [249] Las actualizaciones anteriores de JDK 8 podrían ejecutarse bajo XP descargando un archivo en formato zip archivado y descomprimiéndolo para el ejecutable. La última versión de Java 8 podría ejecutarse en XP es la actualización 251. Pero la compatibilidad de sus componentes comienza a fallar en los no compatibles Sistema operativo en compilación inicial durante el desarrollo de actualizaciones de Java 8. [ cita requerida ]
Desde octubre de 2014, Java 8 fue la versión predeterminada para descargar (y luego nuevamente la descarga que reemplazó a Java 9) desde el sitio web oficial. [250] "Oracle continuará proporcionando actualizaciones públicas y actualizaciones automáticas de Java SE 8, indefinidamente para usuarios personales". [2]
Actualizaciones de Java 8
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 8 | 2014-03-18 | Versión inicial |
Actualización 5 de Java SE 8 [251] | 2014-04-15 | Usando " * " en el Caller-Allowable-Codebase atributo; 11 correcciones de errores |
Actualización 11 de Java SE 8 [252] | 2014-07-15 | Herramienta de análisis de dependencia de Java (jdeps); Opción del panel de control de Java para deshabilitar patrocinadores; Atributo de archivo JAR - Punto de entrada; Propiedad de límite de procesamiento JAXP - maxElementDepth; 18 correcciones de errores de seguridad, [253] 15 correcciones de errores |
Actualización 20 de Java SE 8 [254] | 2014-08-19 | 669 correcciones de errores, [255] JMC 5.4, deduplicación de cadenas (desactivada de forma predeterminada) |
Actualización 25 de Java SE 8 [256] | 2014-10-14 | 10 correcciones de errores |
Actualización 31 de Java SE 8 [257] | 2015-01-19 | 26 correcciones de errores; SSLv3 (deshabilitado de forma predeterminada) |
Actualización 40 de Java SE 8 [258] | 2015-03-03 | 645 correcciones de errores, [259] Se agregó la noción de "presión de memoria" para ayudar a indicar la cantidad de memoria del sistema que aún está disponible (presión baja = memoria alta, presión alta = memoria baja) |
Actualización 45 de Java SE 8 [260] | 2015-04-14 | 13 correcciones de errores |
Actualización 51 de Java SE 8 [261] | 2015-07-14 | Se agregó soporte para sandbox nativo en plataformas Windows (deshabilitado de manera predeterminada); también, 25 correcciones de seguridad, 14 correcciones de errores |
Java SE 8 Update 60 [262] | 2015-08-18 | 480 correcciones de errores [263] |
Actualización 65 de Java SE 8 [264] | 2015-10-20 | 25 correcciones de seguridad, 3 correcciones de errores |
Actualización 66 de Java SE 8 [265] | 2015-11-16 | 15 correcciones de errores |
Actualización 71 de Java SE 8 [266] | 2016-01-19 | 8 correcciones de seguridad, 5 correcciones de errores [267] |
Actualización 72 de Java SE 8 | 2016-01-19 | 8 correcciones de seguridad, 5 correcciones de errores, varias mejoras |
Actualización 73 de Java SE 8 [268] | 2016-02-03 | 1 corrección de seguridad |
Actualización 74 de Java SE 8 [269] | 2016-02-03 | 1 corrección de seguridad |
Actualización 77 de Java SE 8 [270] | 2016-03-23 | 1 corrección de seguridad |
Actualización 91 de Java SE 8 [271] | 2016-04-19 | 9 correcciones de seguridad, 4 correcciones de errores y mejoras |
Actualización 92 de Java SE 8 [272] | 2016-04-19 | Seguridad y correcciones de errores de 8u91, además de 76 correcciones de errores adicionales; el ExitOnOutOfMemoryError y CrashOnOutOfMemoryError banderas se han introducido |
Actualización 101 de Java SE 8 [273] | 2016-07-19 | Seguridad y corrección de errores de 8u92, más 9 correcciones de errores adicionales |
Actualización 102 de Java SE 8 [274] | 2016-07-19 | Seguridad y corrección de errores de 8u101, además de 118 correcciones de errores adicionales |
Actualización 111 de Java SE 8 [275] | 2016-10-18 | 7 correcciones de seguridad y 9 correcciones de errores |
Actualización 112 de Java SE 8 [276] | 2016-10-18 | Funciones adicionales y 139 correcciones de errores sobre 8u111 |
Actualización 121 de Java SE 8 [277] | 2017-01-17 | 3 funciones adicionales, 5 cambios y 11 correcciones de errores sobre 8u112. |
Actualización 131 de Java SE 8 [278] | 2017-04-18 | 4 cambios y 42 correcciones de errores (2 notables). |
Actualización 141 de Java SE 8 [279] | 2017-07-18 | Característica adicional, 3 cambios y 12 correcciones de errores. |
Actualización 144 de Java SE 8 [280] | 2017-07-26 | 32 Correcciones de seguridad y corrección de errores de 8u141. |
Actualización 151 de Java SE 8 [281] | 2017-10-17 | 22 correcciones de seguridad, 2 notas, 1 revocación de certificado, 1 función nueva, 6 cambios y 24 correcciones de errores de 8u144. |
Actualización 152 de Java SE 8 [282] | 2017-10-17 | Correcciones de seguridad, 1 característica nueva, 1 cambio y 238 correcciones de errores de 8u151 (1 notable). |
Actualización 161 de Java SE 8 [283] | 2018-01-16 | 21 correcciones de seguridad, 3 funciones nuevas, 9 cambios y 1 corrección de errores de 8u152. |
Actualización 162 de Java SE 8 [284] | 2018-01-16 | Correcciones de seguridad, 63 correcciones de errores. |
Actualización 171 de Java SE 8 [285] | 2018-04-17 | Correcciones de seguridad, corrección de errores. |
Actualización 172 de Java SE 8 [286] | 2018-04-17 | Correcciones de seguridad, corrección de errores. |
Actualización 181 de Java SE 8 [287] | 2018-07-17 | Correcciones de seguridad, corrección de errores. |
Actualización 191 de Java SE 8 [288] | 2018-10-16 | Nuevas funciones, cambios, correcciones de errores, correcciones de seguridad. |
Actualización 192 de Java SE 8 [289] | 2018-10-16 | Nuevas funciones, cambios, corrección de errores. |
Actualización 201 de Java SE 8 [290] | 2019-01-15 | Nuevas funciones, cambios, corrección de errores. |
Actualización 202 de Java SE 8 [291] | 2019-01-15 | Nuevas funciones, cambios, corrección de errores. |
Actualización 211 de Java SE 8 [292] | 2019-04-16 | Nuevas funciones, cambios, corrección de errores. Actualización de licencia . |
Actualización 212 de Java SE 8 [293] | 2019-04-16 | Nuevas funciones (por ejemplo, 5 símbolos de moneda, incluidos Bitcoin y "New Japanese Era Name Reiwa " [293] ), cambios, corrección de errores. Actualización de licencia . |
Actualización 221 de Java SE 8 [294] | 2019-07-16 | Nuevas funciones, cambios, corrección de errores. |
Actualización 231 de Java SE 8 [295] | 2019-10-15 | Nuevas funciones, cambios, correcciones de errores y 18 correcciones de seguridad. |
Actualización 241 de Java SE 8 [296] | 2020-01-14 | Nuevas funciones, cambios, corrección de errores. |
Actualización 251 de Java SE 8 [297] | 2020-04-14 | Nuevas funciones, cambios, correcciones de errores. La última versión que se demostró que funcionaba en Windows XP de forma no oficial. |
Actualización 261 de Java SE 8 [298] | 14 de julio de 2020 | Nuevas funciones, cambios, corrección de errores. |
Actualización 271 de Java SE 8 [299] | 2020-10-20 | Nuevas funciones, cambios, corrección de errores. |
Actualización de Java SE 8 281 [300] | 2021-01-19 | Nuevas funciones, cambios, corrección de errores. |
Actualización 291 de Java SE 8 [301] | 2021-04-20 | Nuevas funciones, cambios, corrección de errores. |
Java SE 9
Java SE 9 se puso a disposición el 21 de septiembre de 2017, [302] debido a la controvertida aceptación de la implementación actual de Project Jigsaw por parte del Comité Ejecutivo de Java, [303] que llevó a Oracle a solucionar algunos problemas y preocupaciones abiertas, y a refinar algunos preguntas técnicas. En los últimos días de junio de 2017, Java Community Process expresó un consenso casi unánime sobre el esquema del sistema modular propuesto. [304]
- JSR 376: Modularización del JDK bajo Project Jigsaw ( Java Platform Module System ) [159]
- JavaDB se eliminó del JDK [305]
- JEP 193: Mangos de variables : define un medio estándar para invocar los equivalentes de varias operaciones
java.util.concurrent.atomic
ysun.misc.Unsafe
- JEP 213: Moneda del proyecto de fresado : Permitir @SafeVarargs en métodos de instancia privados; Permitir que las variables efectivamente finales se utilicen como recursos en la declaración try-with-resources; Permitir rombo con clases anónimas si el tipo de argumento del tipo inferido es denotable; Complete la eliminación, comenzada en Java SE 8, del guión bajo del conjunto de nombres de identificadores legales; Soporte para métodos privados en interfaces
- JEP 222: jshell: Java Shell (bucle de lectura-evaluación-impresión) : JShell es una interfaz de línea de comandos REPL para el lenguaje Java. [306]
- JEP 254: Cuerdas compactas
- JEP 263: Gráficos HiDPI: escala y tamaño automático
- JEP 266: Más actualizaciones de simultaneidad : incluye una implementación Java de Reactive Streams , [307] incluida una nueva
Flow
clase [308] que incluía las interfaces proporcionadas anteriormente por Reactive Streams [309] - JEP 268: catálogos XML
- JEP 282: jlink: Java Linker : crea una herramienta que puede ensamblar y optimizar un conjunto de módulos y sus dependencias en una imagen personalizada en tiempo de ejecución. Permite efectivamente producir un ejecutable completamente utilizable, incluida la JVM para ejecutarlo.
- JEP 295: Compilación anticipada : compilación anticipada proporcionada por GraalVM .
La primera versión candidata de Java 9 se lanzó el 9 de agosto de 2017. [310] La primera versión estable de Java 9 fue el 21 de septiembre de 2017. [311]
Historia
En JavaOne 2011, Oracle discutió las características que esperaban lanzar para Java 9 en 2016. [312] Java 9 debería incluir un mejor soporte para montones de varios gigabytes, una mejor integración de código nativo, un recolector de basura predeterminado diferente ( G1 , para "tiempos de respuesta más cortos ") [313] y una JVM de autoajuste . [314] A principios de 2016, el lanzamiento de Java 9 se reprogramó para marzo de 2017 [315] y luego se pospuso nuevamente cuatro meses más hasta julio de 2017. [316]
Actualizaciones de Java 9
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 9 [317] | 2017-09-21 | Versión inicial |
Java SE 9.0.1 [318] | 2017-10-17 | Correcciones de seguridad y correcciones de errores críticos de octubre de 2017 |
Java SE 9.0.4 [319] | 2018-01-16 | Lanzamiento final para JDK 9; Correcciones de seguridad y correcciones de errores críticos de enero de 2018 |
Java SE 10
OpenJDK 10 se lanzó el 20 de marzo de 2018, con doce nuevas funciones confirmadas. [320] Entre estas características se encuentran:
- JEP 286: Inferencia de tipo de variable local
- JEP 296: Consolide el bosque JDK en un único repositorio
- JEP 304: Interfaz recolector de basura
- JEP 307: GC completo en paralelo para G1
- JEP 310: Uso compartido de datos de clase de aplicación
- JEP 312: Apretones de manos locales de subprocesos
- JEP 313: eliminar la herramienta de generación de encabezados nativos (javah)
- JEP 314: Extensiones adicionales de etiquetas de idioma Unicode
- JEP 316: Asignación de montón en dispositivos de memoria alternativos
- JEP 317: compilador JIT experimental basado en Java
- JEP 319: Certificados raíz
- JEP 322: Versiones de versiones basadas en el tiempo
El primero de estos JEP 286 Inferencia de tipo de variable local , permite que la var
palabra clave se utilice para variables locales con el tipo real calculado por el compilador. Para que podamos hacer
var list = new ArrayList < String > (); // infiere ArrayList var stream = list . corriente (); // infiere Stream
Actualizaciones de Java 10
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 10 [321] | 2018-03-20 | Versión inicial |
Java SE 10.0.1 [322] | 2018-04-17 | Correcciones de seguridad, 5 correcciones de errores [323] |
Java SE 10.0.2 [324] | 2018-07-17 | Versión final para JDK 10. Correcciones de seguridad, 7 correcciones de errores [325] |
Java SE 11
JDK 11 se lanzó el 25 de septiembre de 2018 y la versión está actualmente abierta para correcciones de errores. Ofrece LTS o soporte a largo plazo. Entre otras, Java 11 incluye una serie de características nuevas, como: [326]
- JEP 181: Control de acceso basado en Nest
- JEP 309: Constantes dinámicas de archivo de clase
- JEP 315: Mejorar los intrínsecos de Aarch64
- JEP 318: Epsilon: un recolector de basura sin operaciones
- JEP 320: eliminar los módulos Java EE y CORBA
- JEP 321: Cliente HTTP (estándar)
- JEP 323: Sintaxis de variable local para parámetros Lambda
- JEP 324: Acuerdo clave con Curve25519 y Curve448
- JEP 327: Unicode 10
- JEP 328: Registrador de vuelo
- JEP 329: Algoritmos criptográficos ChaCha20 y Poly1305
- JEP 330: Iniciar programas de código fuente de archivo único
- JEP 331: creación de perfiles de montón con poca sobrecarga
- JEP 332: Seguridad de la capa de transporte (TLS) 1.3
- JEP 333: ZGC: un recolector de basura escalable de baja latencia (experimental)
- JEP 335: Desaprovechar el motor JavaScript Nashorn
- JEP 336: Desaprovechar las herramientas y la API de Pack200
Se eliminaron varias funciones de versiones anteriores; en particular, los subprogramas de Java y Java Web Start ya no están disponibles. Los módulos JavaFX , Java EE y CORBA se han eliminado de JDK [327]
Actualizaciones de Java 11
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 11 [328] | 2018-09-25 | Versión inicial |
Java SE 11.0.1 [329] | 2018-10-16 | Seguridad y corrección de errores |
Java SE 11.0.2 [330] | 2019-01-15 | Seguridad y corrección de errores |
Java SE 11.0.3 [331] | 2019-04-16 | Nuevas funciones, seguridad y corrección de errores |
Java SE 11.0.4 [332] | 2019-07-16 | Nuevas funciones, seguridad y corrección de errores; La detección del sistema operativo Windows HotSpot identifica correctamente Windows Server 2019 |
Java SE 11.0.5 [333] | 2019-10-15 | Nuevas funciones, seguridad y corrección de errores |
Java SE 11.0.6 [334] | 2020-01-14 | Nuevas funciones, seguridad y corrección de errores |
Java SE 11.0.7 [335] | 2020-04-14 | Nuevas funciones, seguridad y corrección de errores |
Java SE 11.0.8 [336] | 14 de julio de 2020 | Nuevas funciones, seguridad y corrección de errores |
Java SE 11.0.9 [337] | 2020-10-20 | Nuevas funciones, seguridad y corrección de errores |
Java SE 11.0.10 [338] | 2021-01-19 | Nuevas funciones, seguridad y corrección de errores |
Java SE 11.0.11 [339] | 2021-04-20 | Nuevas funciones, seguridad y corrección de errores |
Java SE 12
JDK 12 se lanzó el 19 de marzo de 2019. Entre otras, Java 12 incluye una serie de características nuevas, como: [340]
- JEP 189: Shenandoah: un recolector de basura con poco tiempo de pausa (experimental)
- JEP 230: conjunto de microbenchmark
- JEP 325: Cambiar expresiones (vista previa)
- JEP 334: API de constantes de JVM
- JEP 340: un puerto AArch64, no dos
- JEP 341: Archivos CDS predeterminados
- JEP 344: Colecciones mixtas cancelables para G1
- JEP 346: Devolver rápidamente la memoria comprometida no utilizada de G1
La función de vista previa Jep 325 amplía la switch
declaración para que también se pueda usar como expresión y agregar una nueva forma de etiqueta de caso donde el lado derecho es una expresión. No se necesita ninguna declaración de ruptura. Para expresiones complejas yield
se puede usar una declaración. Esto se convierte en estándar en Java SE 14.
int ndías = cambiar ( mes ) { caso ENE , MAR , MAYO , JUL , AGOSTO , OCT , DIC -> 31 ; caso APR , JUN , SEP , NOV -> 30 ; case FEB -> { if ( año % 400 == 0 ) rendimiento 29 ; de lo contrario, si ( año % 100 == 0 ) rendimiento 28 ; más si ( año % 4 == 0 ) dió 29 ; si no, rinde 28 ; } };
Actualizaciones de Java 12
Lanzamiento | Fecha de lanzamiento | Reflejos |
---|---|---|
Java SE 12 [341] | 2019-03-19 | Versión inicial |
Java SE 12.0.1 [342] | 2019-04-16 | Nuevas correcciones de seguridad y nombres de la era japonesa |
Java SE 12.0.2 [343] | 2019-07-16 | Se eliminaron algunos certificados de CA raíz . |
Java SE 13
JDK 13 se lanzó el 17 de septiembre de 2019. Java 13 incluye las siguientes características nuevas, así como "cientos de pequeñas mejoras y miles de correcciones de errores". [344]
- JEP 350: Archivos de CDS dinámicos
- JEP 351: ZGC: deshacer la memoria no utilizada
- JEP 353: Reimplementar la API de socket heredada
- JEP 354: Cambiar expresiones (vista previa)
- JEP 355: Bloques de texto (vista previa)
Los bloques de texto JEP 355 permiten literales de cadena de varias líneas:
String html = "" " en "> Hola, mundo