CHU
in Chemnitz
Willkommen auf der Webseite von Chris Hübsch
Sie befinden sich hier: Startseite > Programmieren > Java
Auf den Unterseiten befinden sich einige Java-Applets. Diese gibt es dort seit ich sie vor vielen Jahren programmiert habe. Damals waren Applets eine tolle Idee, um Interaktivität auf Webseiten zu bekommen. Leider wurden die Möglichkeiten von Java immer wieder missbraucht, um Unfug zu betreiben. Und der Hersteller hat auch nicht unbedingt sein Bestes gegeben, um das zu verhindern. Es wurden zwar immer neue Sicherheitskonzepte versucht, aber so richtig hat alles nicht geklappt. Die letzte Sicherheitsstufe wurde erreicht, indem Java im Browser nun final deaktiviert wurde. Damit funktionieren die Applets nun auch nicht mehr.

Java - eine Programmierpsprache

Hier ist das Original für Linux, Win32 und Solaris
Projekt Visualisierung von Algorithmen

Was ist Java?

Wie ich in der Überschrift schon erkläre, meine ich die Programmiersprache von Sun.

Java ist fast eine vollwertige Programmiersprache. Man kann auch fast alles mit ihr programmieren. Und die Programme sind auf fast allen Systemen ohne Neucompilierung ausführbar.

Nun ein wenig genauer

Java ist fast eine Interpretersprache. Nun werden viele von denken: "Ist das nicht schrecklich langsam?" Nein! Das "fast" ist das Neue an Java. Java interpretiert keinen Quellcode sondern einen Bytecode. Dieser sieht auf den ersten Blick aus, wie Maschinencode. Er ist es auch, aber nur für die Virtuelle Java Maschine. Dieser Bytecode muß natürlich nicht vom Programmierer geschrieben werden. Er wird vom Java-Compiler erzeugt. Der Interpreter führt ihn dann aus, indem er die systemspezifischen Befehle ausführt. Es wird seit einiger Zeit von einem Java-Chip gesprochen, dessen Maschinencode dem Java-Bytecode entsprechen soll. Damit würde Java dann doch schon wieder eine Compilersprache werden. Es gibt nun auch schon seit einiger Zeit sogeanannte Just-In-Time Compiler. Diese setzen den Bytecode vor der ersten Ausführung in Maschinencode des jeweiligen Systems um. Bei wiederholter Ausführung des Codes kommt es zu extremen Geschwindikeitsvorteilen gegenüber den Interpretern.

Mit dieser Technologie hat man nun die Möglichkeit, weitestgehend plattformunabhängig zu programmieren. Dies hat große Vorteile in heterogenen Umgebungen. Und - ein jeder wird sie schon gesehen haben - man kann damit Applets schreiben. Applets sind kleine Java-Programme, die nur innerhalb einer dafür vorgesehenen Umgebung existieren können. Diese Umgebung (oft ein Browser) legt fest, was das Applet so alles machen darf. Eingeschränkt ist beispielsweise der Festplattenzugriff oder die Abfrage bestimmter Nutzerinformationen. Im Standardfall werden diese Einstellungen sehr restriktiv vom Browser gesetzt - man muss also keine Angst vor Sicherheitsproblemen haben. Im Gegensatz zu - beispielsweise - Active-X-Components, handelt es sich ja noch immer um interpretierten Bytecode, der genau überwacht werden kann. Braucht das Applet mehr Rechte, dann wird es sich an den Nutzer wenden. Dies geht aber nur mit Applets, die digital signiert wurden.


Was sollte man haben, wenn man Java programmieren will?


Von mir durchgeführte Vorträge


Einige Newsgroups zu Java

Newsgruppen zum Thema Java finden sich unter comp.lang.java.*