Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.

Ähnliche Präsentationen


Präsentation zum Thema: "JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt."—  Präsentation transkript:

1 JAVA - Einführung

2 © till.haenisch@gmx.de Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt man ein JAVA Programm ? Entwicklungsumgebungen

3 © till.haenisch@gmx.de JAVA gestern Green Projekt von SUN, OAK Umgebung für embedded controller Plattformunabhängigkeit James Gosling Internet Anwendungen Interaktive Applets in Webseiten Allgemein verwendbare Programmiersprache Große Projekte mit grafischer Oberfläche Office Pakete,... gescheitert !

4 © till.haenisch@gmx.de heute Internet Anwendungen Auf Serverseite Servlets Verteilte Systeme RMI, CORBA, Agenten,... Integration XML Java Beans Allgemein verwendbare Programmiersprache Performance zu schlecht für grafische Oberflächen spielt bei Datenbanken, verteilten Systemen,... keine Rolle

5 © till.haenisch@gmx.de und morgen ? The Network is the computer ! Heute Standalone PCs/große Applikationspakete Separate Installationen pro PC Hoher Administrationsaufwand Morgen Network Computer (NC) + zentraler Server Software (in Java) nur auf Server Download ‚just-in-time‘ Browser ist „Betriebssystem“ auf Clients

6 © till.haenisch@gmx.de JAVA – The Language Einfache, moderne Programmiersprache ähnlich C/C++ einfach komplexe Eigenschaften von C++ fehlen (Mehrfachvererbung, operator overloading, templates,...) automatische Speicherverwaltung (garbage collection) streng typisiert modern objektorientiert multi-threaded plattformunabhängig

7 © till.haenisch@gmx.de Warum JAVA ? andere Sprachen haben diese Eigenschaften auch ! Smalltalk, Perl (?), Python, Ruby,... Einfach zu lernen zu verwenden mächtige, standardisierte Bibliotheken #define Spekulation ON Markt nicht Microsoft #define Spekulation OFF "gute Mischung"

8 © till.haenisch@gmx.de Unterschiede C++/JAVA kein Präprozessor keine Pointer keine Mehrfachvererbung keine alleinstehenden Funktionen (alles innerhalb von Klassen) kein goto kein Operator Overloading keine automatische Typumwandlung keine Templates usw.

9 © till.haenisch@gmx.de JAVA Programme Applikation "normales" Programm, Textmode oder grafische Oberfläche Applet läuft im Browser ab, grafische Oberfläche Restriktionen zur Sicherung (Sandbox) Servlet läuft im (Web-) Server ab erzeugt bel. Ausgabe (oft HTML, aber auch beliebige Daten möglich) Bean wiederverwendbare Komponente

10 © till.haenisch@gmx.de Hello World // Hello World in JAVA public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World"); } Alles innerhalb Klassen (hier HelloWorld) System.out.println schreibt auf die Standardausgabe Jedes Java Programm verwendet automatisch das Package java.lang objektorientiert ?

11 © till.haenisch@gmx.de Hello World II // Hello World objektorientiert public class HelloWorldOOP { public void hallo() { System.out.println("Hello World"); } public static void main(String args[]) { HelloWorldOOP mg = new HelloWorldOOP(); mg.hallo(); } main ist zwar innerhalb der Klasse programmiert, kann (und sollte) aber als Teil eines anderen Objekts betrachtet werden Erklärung später

12 © till.haenisch@gmx.de Erstellung von Programmen Java Compiler Bytecode Verifier Class Loader JVM JIT Compiler Interpreter Java Source Internet Hardware Byte- code

13 © till.haenisch@gmx.de Übersetzen Java Quellcode-Dateien haben Endung.java Name der Datei ist GENAU der Name der Klasse z.B. Klasse HelloWorld in Datei HelloWorld.java nicht in helloworld.java,.... Genau eine Klasse pro Datei Übersetzen mit javac dabei wird Bytecode erzeugt, Endung.class, hier also HelloWorld.class Ausführen mit java hier also: java HelloWorld Annahme: Alle Dateien im aktuellen Verzeichnis

14 © till.haenisch@gmx.de Bibliotheken Java Libraries sind als packages organisiert (hierarchisch) Alle Programme verwenden automatisch java.lang Andere müssen explizit importiert werden z.B. grafische Objerflächen im package java.awt import java.awt.*; Wichtige packages: java.ioEin-/Ausgabe java.utilAlgorithmen/Datenstrukturen java.netTCP/IP java.math java.awtgrafische Oberfläche (alt) java.swinggrafische Oberfläche (neu)

15 © till.haenisch@gmx.de Dokumentation

16 © till.haenisch@gmx.de JVM virtuelle Maschine könnte aber auch real (Hardware) sein verarbeitet (interpretiert) Bytecode enthält i.w. alle Komponenten einer realen CPU Befehlssatz Speicherverwaltung Register Stacks Heap (mit garbage collection) Bytecode wird vor Ausführung überprüft

17 © till.haenisch@gmx.de Performance Java Programme sind "relativ" langsam (Interpreter) Entwicklung schneller, Ausführung langsamer Beschleunigung durch JIT Compiler Bytecode wird zunächst in nativen Maschinencode übersetzt und dann ausgeführt Maschinencode wird nach Ausführung vernichtet (plattformunabhängigkeit) Carbage collection erleichtert Programmierung/vermeidet Fehler, aber kostet Performance macht Einsatz bei RT Systemen schwierig/unmöglich geeignete Programmiertechniken

18 © till.haenisch@gmx.de Entwicklungsumgebung JDK (Java Development Kit) von SUN Referenzimplementierung kostenlos http://java.sun.com Kommandozeilen Werkzeuge javac (Compiler) java (JVM) jre (Java Runtime Environment) javadoc usw. grafische IDEs Borland JBuilder IBM Visual Age for Java Microsoft VJ++ (nicht mehr) usw.


Herunterladen ppt "JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt."

Ähnliche Präsentationen


Google-Anzeigen