Dossier: Java

Java

Eigentlich ein Konglomerat von Spezifikationen, Technologien & Platformen, ein ganzes Ökosystem eben.

Vor allem aber eine Brot & Butter Programmier Sprache, kein Dinosaurier aber seit Ewigkeiten existent.

Java ist klassenbasiert und objektorientiert, kompilierter Java-Code kann auf allen unterstützten Plattformen ohne Neukompilierung laufen. Java-Anwendungen werden typischerweise zu Bytecode kompiliert, der auf jeder Java Virtual Machine (JVM) unabhängig von der zugrunde liegenden Computerarchitektur ausgeführt werden kann.

Versionen

Die Sprache hat eine Vielzahl von Versionen durchlaufen, hier die 3 relevanten:

  1. Version 8 (LTS) Erschienen im März 2014, wird von Oracle teilweise nicht mehr unterstützt. So gibt es seit Januar 2019 keine Updates für die kommerziele Nutzung. Projekte die auf älteren Versionen basieren sollten schleunigst migriert werden.
  2. Version 11 (LTS) Erschienen im September 2018, ist aktuelle und wird von Oracle mit Fixes & Features versorgt. Support läuft Ende 2022 aus.
  3. Version 14 Erschienen im März 2020, ist neueste Version, wird von Oracle bis Ende September 2020 mit Fixes & Features versorgt. Zu dem Zeitpunkt soll Java SE 15 bereitstehen. Eher was für agile Teams.

LTS (Long Term Service) bezeichnet die Versionen die von Oracle über einen längeren Zeitraum mit Bug-Fixes versorgt werden.

OpenJDK

Das Open Java Development Kit ist die offizielle freie Implementierung der Java Platform, Standard Edition (Java SE). Ob der teilweise kurzen Support-Zeiträume von Oracle haben sich Anbieter gefunden die eigenstädnig Builds bereit stellen, auch sind deren Lizens Bedingungen z.T. nicht so restriktiv.

  1. AdoptOpenJDK is a community of Java User Group (JUG) members, Java developers and vendors including Azul, Amazon, GoDaddy, IBM, jClarity (acquired by Microsoft), Microsoft, New Relic, Pivotal and Red Hat. AdoptOpenJDK ist bei der Eclipse Foundation untergekommen und wird dabei nach “Eclipse Adoptium” umbenannt.
  2. Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK). Läuft unter Linux, Windows & macOS. Support bekommt man aber nur für Installationen auf den AWS
  3. Oracle Java SE
  4. Oracle OpenJDK

JVM Languages

Neben Java lassen sich weitere Sprachen zu, auf der JVM lauffähigem Bytecode compilieren.

  1. Clojure
  2. Kotlin
  3. Scala

Lizenzen & rechtliches

Die Situation ist unübersichtlich, es benötigt Zeit sich darin einzuarbeiten.

  1. HomePage der Platform
  2. HomePage der Sprache
  3. Die Sprache @ Wikipedia
  4. Die Platform @ Wikipedia
  5. Difference between OpenJDK and AdoptOpenJDK
  6. Confused about Java and the new license announcement