Folien

Werbung
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Einführung in JAVA
Small History
Machine Virtual Machine (VM)
Komponenten der VM
Entwicklungswerkzeuge JDK
Woher bekommt man JDK
Wie installiert man JDK
Wie benutzt man JDK
Entwicklungsumgebungen
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Java
23. May 1995: John Gage (Director of the Science Office for Sun Microsystems)
and Marc Andreessen (Vice President at Netscape) announces Java 1.0
Java war für das Internet gedacht
Java-Applets … kleine Java Programme die auf jedem Web-Browser auf jedem Computer
(Intel, Mac, …) laufen können.
Kaffee Maschinen
Kühlschrank
U.v.a.m.
Viele Höhen und Tiefen … Java war schon einmal nahezu tot.
Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.
Existiert wahrscheinlich für jede Hardware und jedes Betriebssystem.
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Design Ziele von Java
Portabilität
Java muss eine Virtuelle Maschine enthalten
PC, Unix, Mac, Symbian, …
Zuverlässigkeit
Keine Programm abstürze und Fehlermeldungen,
Es soll immer sinnvoll auf Fehler reagiert werden
Sicherheit (Sandbox)
Aus dem Netz geladene Programme dürfen
auf keine lokalen Dateien und Geräte zugreifen und
keine Netzwerkverbindungen zu „dritten“ Computern aufbauen
Einfachheit, Vertrautheit
Reizvoll für den Durchschnittsprogrammierer
Einfacher als C++
Objektorientiert
Nahezu alles ist ein Objekt
Effizienz
Wichtig aber nicht wirklich an zentraler Stelle, d.h. also sekundär
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Maschine
Virtuelle Maschine
Veranschaulichung
Virtuelle Maschine
„Echte“ Maschine
Applikation
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Virtual Machine
Stück Software, welches einen (fiktiven) Computer
(Prozessor + RAM + ROM + Betriebssystem) simuliert.
Ist ein vollwertiger „Computer“ auf dem Programme
laufen können.
Läuft selbst auf einem realen oder virtuellen Computer.
Kann auf nahezu jede Plattformen portiert werden.
Vom Super Computer bis zu Handys
Von Unix bis Windows-CE, Symbian und noch kleiner
Selbes Programm läuft (mit Einschränkungen) auf alle diesen
Plattformen ohne nochmals übersetzt oder portiert zu werden,
da sich die VM auf jeder Plattform gleich verhält.
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Machine Virtual Machine
Technisch
Machine
Virtual Machine
Java Application
Java Core API (java.*.class)
Operating-System
Hardware
Plattformabhängig
Java Virtual
er
e
JN
I -B
System-Libraries
ich
e.g. C/C++ Application
System-Libraries Machine
Operatin
System
g
Hardware
Teilweise Standardisiert
Plattformunabhängig
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Runtime Environment
(Laufzeitumgebung)
Hardware
Intel x86, Power-Mac, Sun Sparc,
íPAQ, Cell Phone, …
System-Libraries
Operating System
Operating-System
Windows, Mac OS X, Linux,
Solaris, HP-UX, …
Hardware
System Libraries
libc, libm, libdns, libpthread, …
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Java Runtime Environment (JRE)
Java Core API (java.*.class)
Java Virtual Machine (JVM)
java
Java Virtual
Ist Hardware und Operating System in einem
Interpreter
Machine
Interpretiertes ausführen eins Java-Programms.
Just-In-Time (JIT) Compiler
Übersetzt das Java-Programm in die jeweilige Maschinensprache
der realen Plattform
Kompilierte Java-Programm läuft „native“ auf der Plattform
Java Core API
java.*.class
System Libraries der JVM.
Schnittstellen zur „Hardware“ der JVM.
Nützliche Algorithmen
Stringmanipulation, mathematische Algorithmen, ...
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Software Development Kit (SDK)
Notwendig um:
Quellcode zu übersetzen (compile)
Fehler zu suchen (debug)
Besteht aus mehreren Programmen (Tools) wie
Compiler (gcc, cc, f77, f99, …)
Debugger (gdb, dbx, …)
Assembler/Disassembler (as, nas, …)
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Java Development Kit (JDK)
Java Compiler
javac
Übersetzt den Quellcode in Java Byte-Code
Java Debugger
jdb
Tool zur Fehlersuche
Java Disassembler
javap
Erzeugt aus Byte-Code lesbaren Quellcode
Weitere Tools
jar, javah, …
Dokumentation, Packagin, …
Java Dokumentation (separates Download)
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Java Platform Software
Development Kit
Java 2 Plattform, Standard Edition Software Development Kit (J2SESDK)
JRE + JDK = J2SE-SDK
Aktuelle Version: v 1.4.2
Java Implementierungen
Sun
(http://java.sun.com/)
J2SE-SDK
SE = Standard Edition; Kommerziell, für nicht kommerzielle Anwendungen frei
J2EE-SDK
EE = Enterprise Edition; Kommerziell
J2ME-SDK
ME = Micro Edition; Für Handys und andere kleine Devices; Kommerziell
IBM
(http://www-106.ibm.com/developerworks/java/jdk/)
J2SE-SDK, J2ME-SDK
Kommerziell, für nicht kommerzielle Anwendungen frei
Blackdown (http://www.blackdown.org/)
J2SE-SDK
GNU General-Publick-License (GPL)
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Woher bekommt man den J2SESDK + Java Dokumentation?
Direkt von Sun-Microsystems
http://java.sun.com/j2se/1.4.2/download.html
Vom Webserver des Instituts für Pervasive Computing
http://www.soft.uni-linz.ac.at/Teaching/Begleitmaterial/Download
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Wie installiert man das SDK?
Genau beschrieben in Installationsanleitung
Kurzüberblick
Download von j2sdk-1_4_2_05-windows-i586.exe
Ausführen von j2sdk-1_4_2_05-windows-i586.exe
Dialoge beantworten und JDK im Standardverzeichnis
C:\j2sdk1.4.2_05 installieren
Pfad zu den SDK-Programmen Registrieren
SDK benutzen
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Pfad registrieren (Win95, Win98,
WinME)
Voraussetzung: Installation von JDK im
Standardverzeichnis
C:\j2sdk1.4.2_05.
Die Datei „autoexec.bat“ ändern
PATH=C:\WINDOWS;...;C:\J2SDK1.4.2_05\BIN
Es ist nicht (mehr) notwendig die Environment Variable
CLASSPATH
zu setzten.
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Pfad registrieren (WinNT,
Win2000, WinXP)
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Installation prüfen
DOS-Prompt öffnen und das Folgende (rote) eingeben
C:\...\> java –version <CR>
java version „1.4.2_05“
Java™ 2 Runtime Environment, Standard Edition
(build 1.4.2_05)
Java HotSpot(TM) Client VM (build 1.4.2_05, mixed
mode)
C:\...\> javac <CR>
Usage: javac <options> <source files>
where possible options include:
-g
Generate all debugging info
-g:none
Generate no debugging info
...
<CR> … Return Taste (Carriage Return)
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Programmieren, Kompilieren,
Starten
Programm schreiben
Wordpad
Beliebiger Editor
Entwicklungsumgebung
Programm übersetzen
HelloWorld.java
javac
javac
Entwicklungsumgebung
Programm starten
java
Entwicklungsumgebung
javap
HelloWorld.clas
s
java
Hello,
World!
jdb
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Programm schreiben (Wordpad)
Wordpad
HelloWorld.java
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Programm kompilieren (javac)
HelloWorld.java
javac
HelloWorld.clas
s
INFORMATIK
UNIVERSITÄT LINZ
Einführung in JAVA
V. Christian
Programm starten (java)
HelloWorld.cl
ass
java
Hello,
World!
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Entwicklungsumgebung: TextPad
http://www.textpad.com
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Entwicklungsumgebung: JBuilder
http://www.borland.com/
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Entwicklungsumgebung: Eclipse
http://www.eclipse.org/
Einführung in JAVA
INFORMATIK
UNIVERSITÄT LINZ
V. Christian
Dringend verwenden: In, Out.java
Woher:
Von der Homepage http://www.ssw.uni-linz.ac.at/
Warum:
Einfache Handhabung der Eingabe von der Tastatur
Einfache Handhabung der Ausgabe auf dem
Bildschirm
Dokumentation:
Ist im zip-File inkludiert
Herunterladen