Plattformunabhängige Programmiersprache Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Geschichte und Einführung in Java •Art der Programmiersprache •Sicherheit •Laufzeit-Umgebung • Wie funktioniert Java? •Abhängigkeit vom Prozessor? •Java / Javascript • Unterschiede zwischen Java und C ,bzw. C++ •Übersicht •Beispiele Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Geschichte von Java – Die Urversion von Java - Oak (Object Application Kernel) – in einem Zeitraum von 18 Monaten vom Frühjahr 1991 bis Sommer 1992 unter dem Namen The Green Project entwickelt unter der Leitung von James Gosling im Auftrag von der Firma Sun Microsystems – Benannt nach der Lieblingskaffeesorte Java der Programmierer – Ziel war eine vollständige Betriebssystemumgebung zu entwickeln, inklusive virtueller CPU, für unterschiedlichste Einsatzzwecke z.B. Haushaltsgeräte. Industriegeräte usw. – am 23. Mai 1995, wurde Java erstmals offiziell der Öffentlichkeit vorgestellt – seit 1996 anerkannt in Verbindung mit Internet (Integration von Java in den Browser Netscape Navigator ) – inzwischen wird Java weniger für Applets als für selbstständige Programme und Serverapplikationen verwendet Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Wichtige Eigenschaften von Java – Objektorientiert • Java ist durchgängig objektorientiert • alle Elemente eines Programms müssen in Klassen definiert sein • hoher Grad der Wiederverwendbarkeit von Softwaremodulen – Sichere Speicherverwaltung • • keine durch Zeiger adressierten Speicherbereiche von unbestimmter Größe Ablauf ohne Portierungsaufwand in verschiedenen CPU-Umgebungen – Plattformunabhängige Programmdateien • Keine Einbindung in bestimmte Prozessor- oder Betriebssystem-Umgebung Geschichte und Einführung in Java Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++ Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Java Virtual Machine kompiliert den ByteCode • Kein Maschienencode • JVM • Klassenlader • Speicherverwaltung und Bereinigung • Ausführungsarbeit • Just-in-time-Compiler Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++ Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Objekte und Klassen in Java •keine einzelnen Funktionen, alles ist Teil irgendeiner Klasse •keine structs und unions, nur classes •alle Klassen erben von der Klasse Object (alle verwandt) Java-Programme sind grundsätzlich Definitionen von Klassen. Sie haben typisch den folgenden Aufbau: public class ClassName { // Definition von Datenfeldern // Definition von Konstruktoren // Definition von Methoden } Geschichte und Einführung in Java Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Objekte und Klassen in Java •Referenzieren und Dereferenzieren von Objekten wird automatisch vorgenommen •es ist nicht erlaubt, Zeiger oder Speicheradressen zu manipulieren Beispiel Java: C++ : Gründe: •Zeiger sind eine Fehlerquelle •Sprache wird ohne Zeiger vereinfacht •Zeiger und Zeigerarithmetik können benutzt werden, Sicherheitsmechanismen zu umgehen Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++ Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Beispiel Programmaufbau prozeduraler objekt-orientierter Programmaufbau Programmaufbau (Beispiel (Beispiel C) Java) Geschichte und Einführung in Java Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Beispiel nummerische Konvertierung Wenn eine Variable in einen anderen Typen konvertiert werden soll, so muss ihr einfach der gewünschte Typ in Klammern vorangestellt werden: Einschränkungen Beachten! Geschichte und Einführung in Java Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler • Java installieren / Ein Applet erstellen •Java SDK von SUN kostenlos herunterladen •Editor herunterladen z.B. Eclipse (kostenlos) •Umgebungsvariabelen bestimmen Geschichte und Einführung in Java Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler •Quellcode erstellen •HTML erstellen •Java-Klasse erstellen / Java starten Geschichte und Einführung in Java Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler •Applet gestartet •Schnelle Änderung durch Editieren der HTML Geschichte und Einführung in Java Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler •Starten mit HTML 3D-Text Geschichte und Einführung in Java Spiel Bustout Wie funktioniert Java? Bodo Renner / Sebastian Fetissow / Philipp Schüßler Animation Fireworks Unterschiede zwischen Java und C ,bzw. C++ Mikrocomputertechnik WS2009 / 2010 Prof. Küveler