Java
ist eine
objektorientierte
Programmiersprache
und als
solche ein
eingetragenes
Warenzeichen
der Firma
Sun
Microsystems.
Sie ist eine
Komponente
der
Java-Technologie.
Java-Programme
werden in
Bytecode
übersetzt
und dann in
einer
speziellen
Umgebung
ausgeführt,
die als
Java-Laufzeitumgebung
oder
Java-Plattform
bezeichnet
wird. Deren
wichtigster
Bestandteil
ist die Java
Virtual
Machine
(Java-VM),
die die
Programme
ausführt,
indem sie
den Bytecode
interpretiert.
Java-Programme
laufen in
aller Regel
ohne weitere
Anpassungen
auf
verschiedenen
Computern
und
Betriebssystemen,
für die eine
Java-VM
existiert.
Sun selbst
bietet
Java-VMs für
die
Betriebssysteme
Linux,
Solaris und
Windows an.
Andere
Hersteller
lassen ihre
Java-VM für
ihre
Plattform
zertifizierten,
zum Beispiel
die Firma
Apple für
Mac OS X.
Von
Portierung
spricht man
bei Java in
der Regel,
wenn
Quelltext
oder
Bytecode auf
den Stand
einer
anderen
Java-Version
angepasst
werden soll.
Meistens
sind
Java-Programme
nur für
bestimmte
Java-Versionen
getestet
oder
zertifiziert.
Der Entwurf
der
Programmiersprache
Java strebte
im
Wesentlichen
fünf Ziele
an.
Sie soll
eine
objektorientierte
Programmiersprache
sein.
Sie soll
ermöglichen,
gleiche
Programme
auf
unterschiedlichen
Computersystemen
auszuführen.
Sie soll
eingebaute
Unterstützung
für die
Verwendung
von
Computernetzen
enthalten.
Sie soll
Code aus
entfernten
Quellen
sicher
ausführen
können.
Dieser Punkt
wird über
das
Sicherheitskonzept
von Java
erreicht,
das aus drei
Schichten
besteht:
dem
Code-Verifier
(deutsch
„Code-Überprüfer“),
der
sicherstellt,
dass die VM
keinen
ungültigen
Bytecode
ausführen
kann.
den
Class-Loadern
(deutsch
„Klassenlader“),
die die
sichere
Zuführung
von
Klasseninformationen
zur JVM
steuern
(diese ist
dabei kein
Interpreter,
siehe
unten).
den
Security-Managern
(deutsch
„Sicherheitsverwalter“),
die
sicherstellen,
dass nur
Zugriff auf
Programmobjekte
erlaubt
wird, für
die
entsprechende
Rechte
vorhanden
sind.
Die
erfolgreichen
Aspekte
bereits
verbreiteter
objektorientierter
Programmiersprachen
wie C++
sollen auch
für
Java-Programmierer
zur
Verfügung
stehen.