JLS - Tensho97/Aprende-a-Aprender GitHub Wiki

¿Qué es JLS?

Java Language Specification es la especificación de la semántica y la sintaxis del lenguaje de programación Java. Lo define Oracle y textualmente está disponible en la quinta versión (JAVA SE 8 Edition).

Un poco de Historia...

La especificación del lenguaje de Java se publicó por primera vez en 1996 con la primera versión del lenguaje de programación Java.

La segunda edición de la especificación del lenguaje aparecío en el año 2000 y se complementó , entre otras cosas, con el nuevo concepto de clases internas.

La tercera edición apareció en 2005 y ademas describe las innovaciones introducidas en Java 5.

  • Tipos parametrizados para la programación genérica
  • Una sintaxis simplificada adicional para el " for" bucle
  • La conversión implícita entre los tipos de datos elementales y sus clases de envoltorio, el denominado auto-boxing
  • Los tipos enumerados , la enumeración s
  • Listas de parámetros de longitud variable
  • Importación de propiedades de clase estática
  • Anotaciones para incrustar metadatos

La edición de Java SE 7 se lanzó en 2012 e incluye también los cambios introducidos con Java7, así como algunas aclaraciones sobre las características existentes. Estos incluyen:

  • Un operador de diamantes en una declaración, por ejemplo:
List<String> strings = new ArrayList<>();
  • Cambiar comparaciones sobre cadenas
  • Expresión try-with-resources

La edición de Java SE 8 se lanzó en febrero de 2015 e incluye los cambios introducidos con Java 8, principalmente para programación funcional , expresiones lambda y referencias de métodos.

La edicion de Java SE 9 se lanzó en Septiempre de 2017 e incluye JShell que es una herramienta para ir probando segmentos de código, Collections inmutables, mejora de la anotación @deprecated , Try with Resources mejorado, Modularización entre otras muchas cosas.

La edición de Java SE 10 se lanzó en Mazo de 2018 principalmente las novedades fueron la la inferencia de tipos para variables locales, cambios internos como la paralelización , índices en bules for, etc.

La edición de Java SE 11 se lanzó en Septiembre de 2018 algunas de sus nuevas características son que los parámetros de una lambda puede declararse como var con inferencia de tipos. El cliente http de Java 9 ahora es estable y para facilitar la ejecución de los programas que se componen de un único archivo de código fuente, se añade la posibilidad de lanzar un programa desde el archivo de código fuente.

Y la última a fecha de hoy es Java SE 12 y se lano en marzo de 2019 y se caracteriza por expresiones switch donde cada rama de la sentencia siwtch devuelve un valor y no hace falta usar la sentencia break. Teening Collectors se ha añadido un nuevo colector Collectos.teeing() para enviar un elemento de un stream a dos streams. Formatod de número compacto ahora se puede expresa un número de forma compacta con la clase CompactNumberFormat o el método NumberFormat.getCompactNumberInstance(). y el nuevo Recolector de basura Shenandoah.

Para más documentación: https://docs.oracle.com/javase/specs/



Autor: Julián

⚠️ **GitHub.com Fallback** ⚠️