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 11 (LTS) Erschienen im September 2018, wird von Oracle teilweise nicht mehr unterstützt. So gibt es seit April 2019 keine “public Updates” mehr. Um auf der Version zu bleiben sollten schon sehr sehr gute Gründe vorliegen.
  2. Version 17 (LTS) Erschienen im September 2021, fällt ab September 2024 aus dem “public Updates” Support von Oracle. Eine gute Zeit um auf die nächste LTS Version zu migrieren.
  3. Version 21 (LTS) Erschienen im September 2023, der “public Updates” Support von Oracle reicht bis September 2026. Das ist die Version auf der aktuelle Projekte laufen sollten.
  4. Version 22 Soll zum März 2024 erscheinen…. etwas für Leute mit Weitblick.

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ändig Builds bereit stellen, auch sind deren Lizenz 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

Integrated Development Environments (IDE)

Java kann beliebig voluminös sein, es gibt viele IDEs.

  1. IntelliJ IDEA Ein ganz alter Vertreter der tschechischen Firma JetBrains. Es gibt eine Community Edition die kostenlos ist.
  2. Eclipse Gefühlt noch älter, was daran liegen könnte das der Vorläufer von Eclipse, VisualAge, ursprünglich von IBM entwickelt wurde.
  3. Visual Studio Code laut StackOverflow die populärste IDE. Könnte an der starken Verbreitung unter Java Script Entwicklern liegen. Entwickelt wird sie von Microsoft, zu denen auch GitHub gehört.
  4. NetBeans hat Wurzeln bei Sun Microsystems, wurde dann von Oracle übernommen und ist jetzt ein Apache Projekt.
  5. […]

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