Eigenheiten der Sprache Java

Hinter Java verbirgt sich nicht nur eine moderne Programmiersprache, sondern eine ganze Reihe neuartiger Technologien:

Java schänkt die Freiheiten des Programmierers relativ stark ein; hält ihn dadurch aber gleichzeitig davon abhält, eine Vielzahl von ansonsten häufigen Fehlern zu begehen.

Objektorientierung

Java ist eine konsequent objektorientierte Sprache. Jeder Schnipsel Programmcode muss daher logisch in einen Objekt- oder Klassenkontext geklammert werden.

Vererbung

Java verwendet das Konzept der Objektklassen. Die Klassen sind durch (Einfach-)Vererbung in einer Hierarchie organisiert. Implizite Basisklasse ist dabei stets java.lang.Object.

Neben den Klassen gibt es in Java das Konzept der Interfaces. Klassen können beliebig viele Interfaces implementieren.

Typisierung

Java verwendet das Konzept der Objektklassen und besteht auf strikter Typisierung. Das bedeutet insbesondere, dass es in Java keine Zeiger und somit keine Zeigerarithmetik gibt, sondern nur Referenzen.

Die Laufzeitumgebung

In Java geschriebene Programme werden i. A. nicht mit Hilfe eines Kompilers in den Maschinencode eines bestimmten Prozessors übersetzt, sondern in einen abstrakten Bytecode.

Dieser Code wird dann von einem Interpreter, der Java Virtual Machine (JVM), auf der tatsächlichen Hardware ausgeführt ("Compile once, run anywhere").

Just-in-Time Kompilierung (JIT)

Interpretierte Programme laufen wesentlicht langsamer ab als zuvor in Maschinencode übersetzte. Die Java-VM verwendet daher einen Just-in-time Compiler der den Bytecode beim Laden des Programms in Maschinencode übersetzt, der später wesentlich schneller ausgeführt werden kann.

Der Garbage Collector

Alle von einem Programm erzeugten Java-Objekte landen auf dem Heap der JVM. Nicht mehr benötigte Objekte müssen dabei nicht von Hand vernichtet werden, sondern werden vom Garbage Collector automatisch entsorgt.
Topic revision: r5 - 2003-11-14, VolkerRWSchaa
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Legal notice | Privacy Policy (german)