Java ist eine bei Sun entwickelte, sichere Programmiersprache für das Internet/Intranet. WWW-Browser mit Java-Unterstützung besitzen einen Interpreter (JVM), der es erlaubt, mit dem Browser geladene Programme interpretativ abzuarbeiten. Interpretiert wird aber nicht der Java-Quelltext, sondern ein zuvor mit einem Java-Compiler erzeugter Bytecode. So genannte Java-Applets können in Internet-Servern residieren, werden aber in den Clients ausgeführt. Sie werden quasi in Echtzeit auf die Zielplattform portiert und können daher automatisch auf jeder Rechnerplattform ausgeführt werden, die über eine Java-Laufzeitumgebung verfügt. Damit können ins WWW nicht nur Daten, sondern auch ausführbare Inhalte (Programme, Animationen) eingebunden werden. Dazu müssen die Java-Interpreter der Web-Browser umfangreichen Sicherheitsaspekten Rechnung tragen.
Neben der Erstellung von Java-Applets erlaubt Java aber auch die Erstellung ganz "normaler" Programme, die nicht den restriktiven Sicherheitsmechanismen in den Web-Browsern unterworfen sind. Und so wird Java von der Chipkarte bis zum Großrechner in verschiedensten Anwendungen eingesetzt.
Sun selbst bezeichnet Java als eine einfache, objektorientierte, verteilte, interpretierte, robuste, architekturneutrale, sichere, portable, performante, multithreaded und dynamische Programmiersprache. Aufgrund der standardisierten Laufzeitumgebung ist Java aber nicht mehr nur eine Programmiersprache, sondern eher eine Plattform, wie sie sonst durch Betriebssysteme definiert wird.
Obwohl Java C++ ähnlich ist, ist es einfacher und sicherer. So gibt es z.B. keine Mehrfachvererbung und keine Pointerarithmetik. Jedes geladene Programm wird einer Code-Erkennung unterzogen, welche die Ausführung von defektem oder mit Viren behaftetem Code verhindert.
Mit JavaBeans wurde für Java eine komponentenbasierte Softwarearchitektur geschaffen. Der Enterprise JavaBeans Standard erlaubt erstmals, auch in Serverumgebungen verschiedener Hersteller Serverkomponenten zu verwenden.
Die Standardisierung von Java wird innerhalb des Java Community Process (JCP) vorangetrieben.
Siehe auch:
AWT
JavaBeans
Java Card API
Java Enterprise APIs
JavaIDL
JavaScript
JDBC
JDK
JECF
JFC
Jini
JNI
JVM
RMI
Servlet