Java-Übersicht
Beliebte Anwendungen auf unseren leistungsstarken Cloud-Servern mit einem Klick bereitstellen.
Java ist eine objektorientierte Programmiersprache, die seit 1991 von Sun Microsystems entwickelt und am 23. Mai 1995 offiziell veröffentlicht wurde. Die neue Programmiersprache hieß ursprünglich Oak (James Gosling) und wurde für Unterhaltungselektronik entwickelt, wurde jedoch später in Java umbenannt und fortan zum Schreiben von Applets, Anwendungen und Serversoftware eingesetzt.

Programme, die in Java geschrieben sind, haben den Ruf, langsamer zu sein und mehr Arbeitsspeicher zu belegen als solche, die in C geschrieben wurden. Die Ausführungsgeschwindigkeit von Java-Programmen wurde jedoch mit der Veröffentlichung des sogenannten JIT-Compilers in Version 1.1 in den Jahren 1997–1998 deutlich verbessert – zusammen mit weiteren Sprachmerkmalen zur Unterstützung einer besseren Codeanalyse (z. B. innere Klassen, die Klasse StringBuffer, vereinfachte logische Berechnungen usw.). Darüber hinaus wurde die virtuelle Maschine von Java optimiert – seit dem Jahr 2000 wird dafür die virtuelle Maschine HotSpot eingesetzt. Stand Februar 2012 ist Java-7-Code etwa 1,8-mal langsamer als in C geschriebener Code.
Einige Plattformen bieten Hardware-Laufzeitunterstützung für Java. Beispielsweise Mikrocontroller, die Java-Code direkt auf der Hardware statt über eine software-basierte JVM ausführen, sowie ARM-basierte Prozessoren, die die Ausführung von Java-Bytecode über die Jazelle-Option unterstützen.
Wesentliche Merkmale:
- automatische Speicherverwaltung;
- erweiterte Möglichkeiten zur Ausnahmebehandlung;
- ein umfangreicher Satz an Filterwerkzeugen für Ein- und Ausgabe;
- ein Satz von Standard-Collections: Array, Liste, Stack usw.;
- einfache Werkzeuge zur Erstellung von Netzwerkanwendungen (einschließlich solcher, die das RMI-Protokoll verwenden);
- Klassen, die das Ausführen von HTTP-Anfragen und die Verarbeitung der Antworten ermöglichen;
- in die Sprache integrierte Werkzeuge zur Erstellung von Multithreading-Anwendungen, die später in viele andere Sprachen portiert wurden (z. B. Python);
- einheitlicher Datenbankzugriff:
- auf der Ebene einzelner SQL-Abfragen – auf Basis von JDBC und SQLJ;
- auf der Ebene des Konzepts von Objekten, die in einer Datenbank persistiert werden können – auf Basis von Java Data Objects und Java Persistence API;
- Unterstützung von Generics (ab Version 1.5);
- Unterstützung von Lambdas, Closures und integrierten Funktionen der funktionalen Programmierung (ab Version 1.8).