Java (Programmiersprache)

Java
Logo
Logo

Logo der Programmiersprache Java

Basisdaten
Paradigmen: Objektorientierte Programmiersprache
Erscheinungsjahr: 1995
Designer: James Gosling, Sun Microsystems
Entwickler: Sun Microsystems, Oracle[1]
Aktuelle Version Java SE 23 (17. September 2024)
Typisierung: stark, statisch
Beeinflusst von: C++, C, Ada, Simula-67, Smalltalk, Objective-C, Object Pascal, Oberon, Eiffel, Modula-3, Mesa (Programmiersprache), Simula, C#, UCSD Pascal, boxing, variadische Funktion, Annotation (Java), Niklaus Wirth, Patrick Naughton, Foreach-Schleife
Beeinflusste: Groovy, Clojure, C#, Scala, Vala, ActionScript, Seed7, Kotlin, JavaScript
Betriebssystem: plattformunabhängig
Lizenz: GNU General Public License[2]
www.oracle.com/java/

Java ist eine objektorientierte Programmiersprache und eine eingetragene Marke des Unternehmens Sun Microsystems, welches 2010 von Oracle übernommen wurde. Die Programmiersprache ist ein Bestandteil der Java-Technologie – diese besteht grundsätzlich aus dem Java-Entwicklungswerkzeug (JDK) zum Erstellen von Java-Programmen und der Java-Laufzeitumgebung (JRE) zu deren Ausführung. Die Laufzeitumgebung selbst umfasst die virtuelle Maschine (JVM) und die mitgelieferten Bibliotheken. Java als Programmiersprache sollte nicht mit der Java-Technologie gleichgesetzt werden; Java-Laufzeitumgebungen führen Bytecode aus, der sowohl aus der Programmiersprache Java als auch aus anderen Programmiersprachen wie Groovy, Kotlin und Scala kompiliert werden kann. Im Prinzip könnte jede Programmiersprache als Grundlage für Java-Bytecode genutzt werden, für die meisten existieren aber keine passenden Bytecode-Compiler.

Die Programmiersprache Java dient innerhalb der Java-Technologie vor allem zum Formulieren von Programmen. Diese liegen zunächst als reiner, menschenverständlicher Text vor, dem sogenannten Quellcode. Dieser Quellcode ist nicht direkt ausführbar; erst der Java-Compiler, der Teil des Entwicklungswerkzeugs ist, übersetzt ihn in den maschinenverständlichen Java-Bytecode. Die Maschine, die diesen Bytecode ausführt, ist jedoch typischerweise virtuell – das heißt, der Code wird meist nicht direkt durch Hardware (etwa einen Mikroprozessor) ausgeführt, sondern durch entsprechende Software auf der Zielplattform.

Zweck dieser Virtualisierung ist Plattformunabhängigkeit: Das Programm soll ohne weitere Änderung auf jeder Rechnerarchitektur laufen können, wenn dort eine passende Laufzeitumgebung installiert ist. Oracle selbst bietet Laufzeitumgebungen für die Betriebssysteme Linux, macOS und Windows an. Andere Hersteller lassen eigene Java-Laufzeitumgebungen für ihre Plattform zertifizieren. Auch in Autos, HiFi-Anlagen und anderen elektronischen Geräten wird Java verwendet.

Um die Ausführungsgeschwindigkeit zu erhöhen, werden Konzepte wie die Just-in-time-Kompilierung und die Hotspot-Optimierung verwendet. In Bezug auf den eigentlichen Ausführungsvorgang kann die JVM den Bytecode also interpretieren, ihn bei Bedarf jedoch auch kompilieren und optimieren.

Java ist eine der populärsten Programmiersprachen. In dem seit 2001 veröffentlichten TIOBE-Index lag Java bis 2020, konkurrierend mit C, stets auf den ersten beiden, seit 2021 mit zusätzlicher Konkurrenz von Python, auf den ersten drei Plätzen des Rankings.[3][4] Nach dem RedMonk-Programmiersprachenindex 2019 liegt Java zusammen mit Python auf dem zweiten Platz nach JavaScript.[5][6]

  1. www.oracle.com.
  2. www.lemondeinformatique.fr.
  3. Robert McMillan: Is Java Losing Its Mojo? wired.com, 1. August 2013, abgerufen am 29. September 2018 (englisch): „Java is on the wane, at least according to one outfit that keeps on eye on the ever-changing world of computer programming languages. For more than a decade, it has dominated the Tiobe Programming Community Index – a snapshot of software developer enthusiasm that looks at things like internet search results to measure how much buzz different languages have. But lately, Java has been slipping.“
  4. TIOBE Programming Community Index. tiobe.com, 2015, abgerufen am 3. April 2015 (englisch).
  5. Stephen O’Grady: The RedMonk Programming Language Rankings: January 2020. In: tecosystems. RedMonk, 28. Februar 2020, abgerufen am 5. März 2020 (amerikanisches Englisch).
  6. Silke Hahn: Python schreibt Geschichte: Platz 2 im Programmiersprachen-Ranking. heise online, 3. März 2020, abgerufen am 5. März 2020.

Developed by StudentB