Java Language Specification
# Java Language Specification

Die Java Language Specification (kurz JLS, deutsch „Spezifikation der Sprache Java“) ist die Spezifikation der Semantik und Syntax der Programmiersprache Java. Sie wird von Oracle definiert und ist Stand 2015 in der fünften Version (Java SE 8 Edition) verfügbar.

## Geschichte

Die Java-Sprachspezifikation wurde erstmals 1996 mit der ersten Version der Programmiersprache Java veröffentlicht.

Die zweite Ausgabe der Sprachspezifikation erschien im Jahr 2000 und wurde unter anderem um das neue Konzept der inneren Klassen ergänzt.

Die dritte Ausgabe erschien 2005 und beschreibt zusätzlich die mit Java 5 eingeführten Neuerungen:

* parametrisierte Typen für generische Programmierung,
* eine zusätzliche, vereinfachte Syntax für die „for“-Schleife,
* die implizite Umwandlung zwischen elementaren Datentypen und deren Wrapper-Klassen, das so genannte Auto-Boxing,
* Aufzählungstypen, die enums,
* Parameterlisten variabler Länge,
* Import statischer Klasseneigenschaften, z. B. Konstanten und
* Annotations zur Einbettung von Metadaten.

Die Java SE 7 Edition erschien 2011 und enthält zusätzlich die mit Java 7 eingeführten Änderungen, sowie einige Klarstellungen zu bereits vorhandenen Features. Dazu zählen unter anderem:

* Ein Diamant-Operator bei einer Deklaration (z. B. List<String> strings = new ArrayList<>;) und
* switch-Vergleiche über Strings
* try-with-resources Ausdruck

Die Java SE 8 Edition erschien im März 2014 und enthält die mit Java 8 eingeführten Änderungen, hauptsächlich zur Funktionalen Programmierung, Lambda-Ausdrücken und Methodenreferenzen.

