Einführung in Java

Java ist ein Sammelbegriff für die objektorientierte Programmiersprache Java und die von Sun Microsystems im Mai 1995 eingeführte Java-Plattform. Es wurde von James Gosling und seinen Kollegen entwickelt und 1995 offiziell veröffentlicht.

Später wurde Sun von Oracle Corporation übernommen, und Java wurde anschließend ein Produkt von Oracle.

Java ist in drei Systeme unterteilt:

  • JavaSE (J2SE) (Java 2 Platform Standard Edition, Java Platform Standard Edition)
  • JavaEE (J2EE) (Java 2 Platform, Enterprise Edition, Java Platform Enterprise Edition)
  • JavaME (J2ME) (Java 2 Platform Micro Edition, Java Platform Micro Edition).

Im Juni 2005 fand die JavaOne-Konferenz statt, und Sun kündigte Java SE 6 an. Zu diesem Zeitpunkt waren die verschiedenen Versionen von Java umbenannt worden, um die Zahl "2" zu entfernen: J2EE wurde in Java EE umbenannt, J2SE in Java SE und J2ME in Java ME.


Hauptfunktionen

  • Die Java-Sprache ist einfach:

    Die Syntax der Java-Sprache ist der von C und C++ sehr ähnlich, sodass sie für die meisten Programmierer leicht zu erlernen und zu verwenden ist. Andererseits verwirft Java diejenigen Funktionen von C++, die selten verwendet, schwer zu verstehen und verwirrend sind, wie Operatorüberladung, Mehrfachvererbung und automatische erzwungene Typkonvertierung. Insbesondere verwendet die Java-Sprache keine Zeiger, sondern Referenzen. Sie bietet außerdem automatische Zuweisung und Freigabe von Speicherplatz, sodass sich Programmierer nicht um die Speicherverwaltung kümmern müssen.

  • Die Java-Sprache ist objektorientiert:

    Die Java-Sprache bietet objektorientierte Funktionen wie Klassen, Schnittstellen und Vererbung. Zur Vereinfachung unterstützt sie nur Einfachvererbung zwischen Klassen, aber Mehrfachvererbung zwischen Schnittstellen sowie den Implementierungsmechanismus zwischen Klassen und Schnittstellen (das Schlüsselwort ist implements). Die Java-Sprache unterstützt vollständig dynamische Bindung, während C++ dynamische Bindung nur für virtuelle Funktionen verwendet. Kurz gesagt, Java ist eine rein objektorientierte Programmiersprache.

  • Die Java-Sprache ist verteilt:

    Die Java-Sprache unterstützt die Entwicklung von Internetanwendungen. In der grundlegenden Java-Anwendungsprogrammierschnittstelle gibt es eine Netzwerk-Anwendungsprogrammierschnittstelle (java net), die Klassenbibliotheken für die Netzwerk-Anwendungsprogrammierung bereitstellt, darunter URL, URLConnection, Socket, ServerSocket usw. Der RMI-Mechanismus (Remote Method Invocation) von Java ist ebenfalls ein wichtiges Mittel zur Entwicklung verteilter Anwendungen.

  • Die Java-Sprache ist robust:

    Javas starker Typisierungsmechanismus, Ausnahmebehandlung und automatische Garbage Collection sind wichtige Garantien für die Robustheit von Java-Programmen. Der Verzicht auf Zeiger ist eine weise Wahl für Java. Javas Sicherheitsüberprüfungsmechanismus macht Java noch robuster.

  • Die Java-Sprache ist sicher:

    Java wird häufig in Netzwerkumgebungen eingesetzt. Aus diesem Grund bietet Java einen Sicherheitsmechanismus, um Angriffe durch bösartigen Code zu verhindern. Zusätzlich zu den vielen Sicherheitsmerkmalen der Java-Sprache verfügt Java über einen Sicherheitspräventionsmechanismus (die Klasse ClassLoader) für über das Netzwerk heruntergeladene Klassen, wie z. B. die Zuweisung unterschiedlicher Namensräume, um die Ersetzung lokaler Klassen mit demselben Namen zu verhindern, die Bytecode-Prüfung sowie einen Sicherheitsverwaltungsmechanismus (die Klasse SecurityManager), mit dem Java-Anwendungen Sicherheitswächter einrichten können.

  • Die Java-Sprache ist architekturneutral:

    Java-Programme (Dateien mit der Erweiterung .java) werden auf der Java-Plattform in ein architekturneutrales Bytecode-Format (Dateien mit der Erweiterung .class) kompiliert, das dann auf jedem System ausgeführt werden kann, das die Java-Plattform implementiert. Dieser Ansatz eignet sich für heterogene Netzwerkumgebungen und die Softwareverteilung.

  • Die Java-Sprache ist portabel:

    Diese Portabilität resultiert aus der Architekturneutralität. Darüber hinaus legt Java die Länge jedes grundlegenden Datentyps streng fest. Das Java-System selbst ist zudem sehr portabel: Der Java-Compiler ist in Java implementiert, und die Java-Laufzeitumgebung ist in ANSI C implementiert.

  • Die Java-Sprache ist interpretiert:

    Wie bereits erwähnt, werden Java-Programme auf der Java-Plattform in das Bytecode-Format kompiliert und können dann auf jedem System ausgeführt werden, das die Java-Plattform implementiert. Zur Laufzeit interpretiert und führt der Java-Interpreter in der Java-Plattform diese Bytecodes aus, und die während der Ausführung benötigten Klassen werden während der Verknüpfungsphase in die Laufzeitumgebung geladen.

  • Java ist leistungsstark:

    Im Vergleich zu interpretierten High-Level-Skriptsprachen ist Java tatsächlich leistungsstark. Mit der Entwicklung der JIT-(Just-In-Time-)Compiler-Technologie kommt die Laufgeschwindigkeit von Java der von C++ immer näher.

  • Die Java-Sprache ist multithreaded:

    In der Java-Sprache ist ein Thread ein spezielles Objekt, das von der Klasse Thread oder ihren Unterklassen (abgeleiteten Klassen) erstellt werden muss. Normalerweise gibt es zwei Möglichkeiten, einen Thread zu erstellen: Eine besteht darin, einen Konstruktor mit der Signatur Thread(Runnable) zu verwenden, um ein Objekt, das die Schnittstelle Runnable implementiert, in einen Thread zu verpacken; die andere besteht darin, eine Unterklasse von der Klasse Thread abzuleiten und die Methode run zu überschreiben; das mit dieser Unterklasse erstellte Objekt ist der Thread. Es ist erwähnenswert, dass die Klasse Thread bereits die Schnittstelle Runnable implementiert, sodass jeder Thread seine run-Methode hat und die run-Methode den Code enthält, den der Thread ausführen soll. Die Aktivität eines Threads wird durch eine Reihe von Methoden gesteuert. Die Java-Sprache unterstützt die gleichzeitige Ausführung mehrerer Threads und bietet einen Synchronisationsmechanismus zwischen mehreren Threads (das Schlüsselwort ist synchronized).

  • Die Java-Sprache ist dynamisch:

    Eines der Designziele der Java-Sprache ist es, sich an dynamisch verändernde Umgebungen anzupassen. Die von einem Java-Programm benötigten Klassen können dynamisch in die Laufzeitumgebung geladen werden, und die benötigten Klassen können auch über das Netzwerk geladen werden. Dies erleichtert auch Software-Upgrades. Darüber hinaus haben Klassen in Java eine Laufzeitdarstellung, was Laufzeit-Typprüfungen ermöglicht.


Entwicklungsgeschichte

  • Am 23. Mai 1995 wurde die Java-Sprache geboren.
  • Im Januar 1996 wurde das erste JDK - JDK 1.0 - geboren.
  • Im April 1996 kündigten 10 der führenden Betriebssystemhersteller an, dass sie Java-Technologie in ihre Produkte einbetten würden.
  • Im September 1996 wurden etwa 83,000 Webseiten mit Java-Technologie erstellt.
  • Am 18. Februar 1997 wurde JDK 1.1 veröffentlicht.
  • Am 2. April 1997 fand die JavaOne-Konferenz mit mehr als 10,000 Teilnehmern statt und stellte damals einen Rekord für die Größe ähnlicher Konferenzen weltweit auf.
  • Im September 1997 hatte die Java Developer Connection-Community mehr als 100,000 Mitglieder.
  • Im Februar 1998 wurde JDK 1.1 mehr als 2,000,000 Mal heruntergeladen.
  • Am 8. Dezember 1998 wurde die Java-2-Enterprise-Plattform J2EE veröffentlicht.
  • Im Juni 1999 veröffentlichte Sun drei Versionen von Java: Standard Edition (Java SE, früher J2SE), Enterprise Edition (Java EE, früher J2EE) und Micro Edition (Java ME, früher J2ME).
  • Am 8. Mai 2000 wurde JDK 1.3 veröffentlicht.
  • Am 29. Mai 2000 wurde JDK 1.4 veröffentlicht.
  • Am 5. Juni 2001 kündigte Nokia an, bis 2003 100 Millionen Java-fähige Mobiltelefone zu verkaufen.
  • Am 24. September 2001 wurde J2EE 1.3 veröffentlicht.
  • Am 26. Februar 2002 wurde J2SE 1.4 veröffentlicht, und seitdem wurden die Rechenkapazitäten von Java erheblich verbessert.
  • Am 30. September 2004 um 6:00 Uhr nachmittags wurde J2SE 1.5 veröffentlicht und wurde damit zu einem weiteren Meilenstein in der Geschichte der Java-Sprache. Um die Bedeutung dieser Version zu unterstreichen, wurde J2SE 1.5 in Java SE 5.0 umbenannt.
  • Im Juni 2005 fand die JavaOne-Konferenz statt, und Sun kündigte Java SE 6 an. Zu diesem Zeitpunkt waren die verschiedenen Versionen von Java umbenannt worden, um die Zahl "2" zu entfernen: J2EE wurde in Java EE umbenannt, J2SE in Java SE und J2ME in Java ME.
  • Im Dezember 2006 veröffentlichte Sun JRE 6.0.
  • Am 20. April 2009 erwarb Oracle Sun für $7.4 Milliarden und erhielt damit das Urheberrecht an Java.
  • Im November 2010 drohte Apache aufgrund von Oracles Unfreundlichkeit gegenüber der Java-Community damit, sich aus dem JCP zurückzuziehen.
  • Am 28. Juli 2011 veröffentlichte Oracle die offizielle Version von Java 7.0.
  • Am 18. März 2014 veröffentlichte Oracle Java SE 8.
  • Am 21. September 2017 veröffentlichte Oracle Java SE 9.
  • Am 21. März 2018 veröffentlichte Oracle Java SE 10.
  • Am 25. September 2018 wurde Java SE 11 veröffentlicht.
  • Am 20. März 2019 wurde Java SE 12 veröffentlicht.

Java-Entwicklungswerkzeuge

Für die Sprache Java sollten Sie versuchen, sicherzustellen, dass das System über mehr als 1G Speicher verfügt. Weitere Tools sind wie folgt:

Nach der Installation der oben genannten Tools können wir das erste Java-Programm ausgeben, "Hello World!"

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }

Im nächsten Kapitel stellen wir vor, wie die Java-Entwicklungsumgebung konfiguriert wird.

Weitere Erweiterungen