Java ist eine sogenannte objektorientierte Programmiersprache, welche 1995 erschien. Sie wird von Sun Microsystems entwickelt, welches jedoch 2010 von Oracle aufgekauft wurde. Diese Programmiersprache ist Bestandteil der Java-Technologie, welche ausserdem noch das Java Software Development Kit (kurz: Java SDK) zum entwickeln von Java-Programmen und das Java Runtime Environment (kurz: JRE) zum ausführen dieser Programme enthält. Die Java-Laufzeitumgebung (das JRE) umfasst die virtuelle Maschine (JVM) und sämtliche Java-Bibliotheken. Eine Java-Bibliothek ist zum Beispiel das Paket java.awt, welches die Elemente und Funktionen für das Gestalten von grafischen Oberflächen enthält Das Java-SDK enthält den Compiler, welcher den menschenlesbaren Quellcode in ein von einem Computer ausführbares Programm umwandelt. Dieser Computer ist jedoch nicht physisch, sondern virtuell. Das heißt, der Code wird nicht direkt von der Hardware in etwa einem Android-Handy ausgeführt, sondern von einem simulierten Computer, der JVM. Dies nennt man Virtualisierung. Sinn und Zweck dieser Virtualisierung ist die Plattformunabhängigkeit, denn so kann jedes in Java geschriebenes Programm sowohl auf Windows-PCs, auf MACs und auf Linux-Computern ausgeführt werden, ohne dass das Programm für jede Plattform speziell angepasst werden muss. Einzige Voraussetzung ist, dass das JRE auf dem Computer installiert sein muss, auf dem dsa Programm ausgeführt werden soll. Java ist momentan die populärste Programmiersprache auf dem Markt, sie belegt etwa 20% insgesamt. Darauf folgen C mit etwa 14% und C++ mit etwa 6%.
Java hatte von Beginn an folgende Ziele: Sie sollte:
Diese Punkte werden teils mehr und teils weniger gut erfüllt. So ist Java, verglichen mit C++ oder C# recht einfach, ähnelt den Sprachen aber von der Sytax her so sehr, dass ein Umstieg nicht besonders schwer fallen sollte. Zudem sind Programme, welche in Java geschrieben wurden, sehr robust, da etwa Probleme wir Ausnahmebehandlungen automatisch von der JRE verarbeitet werden, und das Programm so nicht einfach abstürzen lassen, sondern eine Fehlermeldung anzeigen. Das JRE ist außerdem sehr leistungsstark, da es zum Beispiel Multithreading, also die Fähigkeit, einen Prozess auf mehrere Prozessorkerne zu verteilen, unterstützt.
Ein Objekt lässt sich am einfachsten am folgenden Beispiel erklären:
Die Klasse „Auto“ legt fest, dass das Auto vier Reifen, fünf Türen, einen Motor und fünf Sitze hat. Das Objekt „Automodell1“ hat schließlich vier Reifen mit dem Durchmesser 60 cm und der Breite 20 cm, fünf rote Türen, einen Motor mit 150 kW und fünf Ledersitze. Ein weiteres Objekt „Automodell2“ hat vier Reifen mit dem Durchmesser 40 cm und der Breite 15 cm, fünf blaue Türen, einen Motor mit 100 kW und sieben Ledersitzen Beide Objekte sind unterschiedlich, gehören aber zu der gemeinsamen Klasse Auto.
Die Grundidee einer objektorientierten Programmiersprache ist also, zusammengehörige Daten und Funktionen möglichst kompakt zu verkapseln. Dies macht das Verwalten von großen Softwareprojekten deutlich einfacher und übersichtlicher. Desweiteren lassen sich so bereits geschriebene Module / Funktionen wiederverwenden.
Die Programmiersprache Java ist modular, daher können auch während der Ausführung eines Programms externe Klassen nachgeladen werden. Auf diesem Prinzip basiert das Java-Applet-System, bei dem in einem Browser eine Klasse von einer Website geladen wird und im installierten JRE ausgeführt wird.
Die Syntax einer Funktion in den Java-Bibliotheken lässt sich in der Java Language Specification nachlesen. Der folgende Code gibt den String Hallo Welt in der Konsole aus: public class HalloWelt { public static void main(String[] args) { System.out.println("Hallo Welt!"); } } Die Syntax einer Funktion xy ist also normalerweise xy(Variable1, Variable2);
Die Programmiersprache Java bietet zahlreiche Anwendungsmöglichkeiten:
Die wohl bekanntesten Entwicklungsumgebungen für Java sind Eclipse und NetBeans.