JDK/SDK/JRE und Java Entwicklungswerkzeuge [OOP02]

Werbung
2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
Objektorientierte Programmierung OOP
– 2.1 JDK/SDK/JRE und seine Versionen
Programmieren mit Java
–2.1.1 Übersicht JDK/SDK/JRE
–2.1.2 Versionen JDK/SDK/JRE
– 2.2 Installation und Dokumentation
–2.2.1 Installation
2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
–2.2.2 Dokumentation
– 2.3 Java Entwicklungs-Tools
–2.3.1 Standard Tools
–2.3.2 IDEs
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
2.1 JDK/SDK/JRE und seine Versionen
2.1.1 Übersicht JDK/SDK/JRE
2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
Es gibt eine (verwirrend große) Anzahl von Java-Paketen in verschiedensten
Versionen mit unterschiedlichsten Erweiterungen.
– 2.1 JDK/SDK/JRE und seine Versionen
2
Häufig auftretende Abkürzungen sind:
– JDK: Java Development Kit (Entwicklung von Java-Programmen)
– SDK: Software Development Kit (erweiterte Entwicklung von Java-Programmen)
– JRE: Java Runtime Environment (Ausführung von Java-Programmen)
–2.1.1 Übersicht JDK/SDK/JRE
–2.1.2 Versionen JDK/SDK/JRE
– 2.2 Installation und Dokumentation
Das JDK ist quasi immer das Grundpaket, das ein lauffähiges Java in den
anderen Paketen installiert. Wenn daher im Folgenden vom JDK gesprochen
wird, so ist auch immer das SDK und JRE gemeint, da in diesen das JDK (oder
zumindest teilweise dessen Funktionalität) integriert ist.
– 2.3 Java Entwicklungs-Tools
Zusätzlich existieren drei so genannte Java-2-Plattformen (auch als
Technologien oder Frameworks bezeichnet):
– J2SE: Java 2 Standard Edition
– J2ME: Java 2 Micro Edition
– J2EE: Java 2 Enterprise Edition
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
3
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
4
2.1.1 Übersicht JDK/SDK/JRE
2.1.1 Übersicht JDK/SDK/JRE
Die Enterprise Edition (J2EE) erweitert die Standard Edition (J2SE) mittels zusätzlicher
Tools und Komponenten:
Development Tools sind Java-Werkzeuge zum
Kompilieren, Debuggen, Dokumentation Erstellen
usw.
User Interface Toolkits enthalten die
Application Programming Interfaces
(Programmierschnittstellen, API), welche die
Erstellung von Grafikoberflächen ermöglichen.
Libraries enthalten die Programmierschnittstellen
(API), welche zusätzliche Java-Funktionalität
für verschiedenste Anwendungen zur Verfügung
stellen.
Die 3 existierenden Java-2-Plattformen (J2SE, J2ME und J2EE) erweitern das JDK
(Version 1.3 oder höher) mit zusätzlichen Komponenten (hauptsächlich
Klassenbibliotheken...):
Java Virtual Machine (JVM) ist der Kern aller
Java-Entwicklungswerkzeuge, der JavaProgramme plattformunabhängig laufen lässt.
– Die Standard Edition (J2SE) ist das Standard-Java-Paket.
JVM ist von Sun für Platforms Solaris, Linux und
Windows entwickelt und von anderen Computerbzw. Betriebssystemherstellern für ihre
unterstützten Plattformen adaptiert (z.B. SGIWorkstations, Java-fähige Handies von Nokia,
Motorola...).
© Prof. Dr. Rolf Dornberger
– Die Micro Edition (J2ME) unterstützt ein eingeschränktes Java für Geräte wie
Mobiltelefone oder PDAs.
Quelle: http://java.sun.com/javase/technologies/index.jsp [Stand: 27.08.08]
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
5
2.1.2 Versionen JDK/SDK/JRE
– Die Enterprise Edition (J2EE) unterstützt ein erweitertes Java zum Entwickeln
verteilter, unternehmensweiter Applikationen.
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
6
22.09.2010
8
2.2 Installation und Dokumentation
Java-Versionen von SUN
entwickelt:
– 1995: HotJava (beta)
– 1996: JDK 1.0 (beta)
– 1997: JDK 1.1 (beta; HotJava 1.0;
JavaOS 1.0)
– 1998: JDK 1.2 (1999 umbenannt
in Java 2 Platform)
– 1999: JDK 1.3 (beta)
– 2000: JDK 1.3 (identisch mit Java
2 und SDK 2)
– 2002: JDK 1.4
– 2004: JDK 1.5 (Java 5, J2SE 5.0)
2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
– 2.1 JDK/SDK/JRE und seine Versionen
– 2.2 Installation und Dokumentation
–2.2.1 Installation
–2.2.2 Dokumentation
– 2.3 Java Entwicklungs-Tools
– ...
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
– 2009: JDK 6 Update 12
22.09.2010
7
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
2.2.1 Installation
2.2.1 Installation
Manchmal wird das Java Runtime Environment (JRE) auf dem Computer
automatisch installiert, z.B.
Soll Java direkt installiert werden, geschieht dies am besten über die
Download-Seite http://java.sun.com/:
– wenn man Java Applets über das Internet aufruft oder Java-Programme
auf dem Computer installiert und noch keine JVM (in der richtigen Version)
installiert ist.
– Meist merkt der Benutzer davon nicht viel (Fenster, ob installiert werden
soll).
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
– Entsprechende Java-Version wählen.
– Entsprechendes Betriebssystems, gegebenenfalls Sprache und SDK bzw.
JRE wählen und downloaden.
– Herunter geladenes Executable (beispielsweise jdk-6u12-windows-i586p.exe) auf eigenem Computer ausführen und Java-Version in
entsprechendem Verzeichnis installieren.
Die manuelle Installation des JRE oder Software Development Kit (SDK)
von Java erfolgt entweder direkt oder über eine JavaEntwicklungssoftware.
© Prof. Dr. Rolf Dornberger
– Entsprechende Java-Plattform (auch als Technologie bezeichnet) wählen.
– Entsprechende Java-Dokumentation herunterladen (z.B. jdk-6u10docs.zip).
9
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
2.2.1 Installation
2.2.1 Installation
Nach Installation sind ausser den Text- und HTML-Files (COPYRIGHT,
LICENCE, README) folgende Unterverzeichnisse angelegt:
Im Java-Verzeichnis liegt ausserdem noch ein File src.zip, welches die
vollständigen Quelltexte aller mitgelieferten Java-Pakete enthält.
– \bin enthält alle Executables, die mit dem SDK für diesen Computer
ausgeliefert werden.
– \lib enthält alle Standard-Java-Klassen (als jar-Files), die für die
Entwicklung von Java-Programmen benutzt werden können.
– \jre beinhaltet die Laufzeitumgebung von Java (Java Runtime
Environment). Hier liegen alle plattformspezifischen Files, um JavaProgramme unter diesem Betriebssystem auf diesem Computer laufen zu
lassen.
10
Auch sollte die Dokumentation zur entsprechenden Java-Version
installiert sein. Dann befindet sich das Unterverzeichnisse \doc in
diesem Verzeichnis. Über das File \doc\index.html kann dann darauf
zugegriffen werden.
– \include ist ein optionales Verzeichnis, das Source-Code (Header-Dateien)
für eine Anbindung von Java an C/C++ enthält.
– \demo und \sample enthalten viele kleinere und grössere JavaBeispielprogramme.
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
11
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
12
2.2.2 Dokumentation
2.2.2 Dokumentation
Für die Vorlesung sind speziell empfohlen:
– Dornberger, Rolf (2006): Objektorientierte Programmierung;
http://web.fhnw.ch/personenseiten/rolf.dornberger/Documents/Lectures/oo
p.html;
Fachhochschule Nordwestschweiz, Hochschule für Wirtschaft; 2006.
– The Source for JavaTM Technology; Sun Microsystems, Inc.;
http://java.sun.com/ [ohne Jahr].
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
13
Neben der mitgelieferten Java-Dokumentation gibt es Unmengen zusätzlicher
Literatur. Eine kleine Auswahl wurde bereits anfangs vorgestellt:
– Daum, Berthold: Java-Entwicklung mit Eclipse 3.1; dpunkt.verlag; 2005.
– Nowak, Johannes: Fortgeschrittene Programmierung mit Java 5;
dpunkt.verlag; 2005.
– Krüger, Guido: Handbuch der Java-Programmierung; 4. Auflage;
http://www.javabuch.de/; Addison-Wesley, 2004.
– Saake, Gunter; Sattler, Kai-Uwe; Algorithmen und Datenstrukturen - Eine
Einführung in Java; dpunkt.verlag; 2004.
– Ratz , Dietmar; Scheffler, Jens; Seese, Detlef; Wiesenberger, Jan: Grundkurs
Programmieren in Java, Band 2; Hanser, 2003.
– Cornell, Gary; Horstmann, Cay S:. Core Java 2 Grundlagen; Markt und
Technik; Sun Microsystems; 2002.
– Esser, Friedrich: Java 2; Galileo Press; 2002.
– Flanagan, David: Java in a Nutshell, Deutsche Ausgabe der 4.Auflage;
O‘Reilly; 2002.
– Jobst, Fritz: Programmieren in Java; Hanser; 2002.
– Steyer, Ralph: Java 2, Das Programmierhandbuch; Markt+Technik bei Heyne;
2001.
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
2.3 Java Entwicklungs-Tools
2.3 Java Entwicklungs-Tools
2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
Mit dem JDK werden auch verschiedene Software-Entwicklungswerkzeuge (=
Tools) mitgeliefert, weshalb SUN gerade deshalb eher vom SDK (Software
Development Kit) als vom JDK (Java Development Kit) spricht. Diese
Entwicklungswerkzeuge sind wiederum Computerprogramme, mit deren Hilfe
Java-Programme beispielsweise übersetzt, nach Fehlern durchsucht und
dokumentiert werden können.
– 2.1 JDK/SDK/JRE und seine Versionen
– 2.2 Installation und Dokumentation
– 2.3 Java Entwicklungs-Tools
–2.3.1 Standard Tools
–2.3.2 IDEs
14
Nicht standardmässig mitgeliefert wird ein Editor oder eine anwenderfreundliche
Programmierumgebung, sondern nur die notwendigen Grundprogramme, um
Java zum Laufen zu bringen.
In der Vorlesung kommen wir später zu den Programmierumgebungen (IDE =
Integrated Development Environment). Bis dahin verwenden wir einen einfachen
Editor, um erstes das Verständnis zu stärken, was genau passiert, bis eine JavaProgramm läuft. Und zweitens, um nicht durch die große Funktionalität von IDEs
abgelenkt zu sein.
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
15
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
16
2.3.1 Standard Tools
2.3.1 Standard Tools
Die wichtigsten beiden Tools sind der Java-Compiler javac, der den JavaQuellcode in Java-Bytecode übersetzt, und der Java-Interpreter java, der diesen
Java-Bytecode ausführt.
Weitere wichtige Tools, die standardmässig mit dem JDK mitgeliefert
werden:
– appletviewer ist ein Programm, das es ähnlich einem Browser erlaubt,
Java Applets (=Java-Programme, die nur in einem Browser lauffähig sind)
aufzurufen und deren Grafikausgaben zu betrachten.
– javadoc erstellt aus Java-Quelltexten Dokumentationen im HTML-Format.
Dazu verwendet es die öffentlichen Klassen-, Interface- und
Methodendeklarationen und fügt zusätzliche Informationen aus eventuell
vorhandenen Dokumentationskommentaren hinzu.
– javap ist ein so genannter Disassembler, der aus dem Java-Bytecode so
viel wie möglich Information zum Java-Quellcode rekonstruiert. Ein
Wiederherstellen des ursprünglichen Java-Quellcodes ist aber unmöglich.
– jdb ist ein Debugger (zu deutsch: Entwanzer), mit dem Fehler in JavaProgrammen gesucht und gefunden werden können. Programme können
schrittweise ablaufen gelassen werden, um sich den Inhalt von Variablen
oder Objekten explizit anzeigen zu lassen und diese manipulieren zu
können.
© Prof.
Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
18
– jar ist ein Archivierungsprogramm, das Dateien und komplette
javac: Java-Compiler
– Übersetzt Java-Quellcode in Java-Bytecode
– Dateien mit Java-Quellcode müssen die Endung .java haben
– Dateien mit Java-Bytecode erhalten die Endung .class (und lauten so, wie die
Klassen im Java-Quellcode benannt sind)
– javac [Optionen] [Dateiname] [@files]
– @files ist eine Datei, die mehrere Java-Dateien enthält
java: Java-Interpreter
– Führt eigenständige Java-Anwendungen aus
– java [Optionen] [Klassenname] [Argumente]
– Anstelle von [Klassenname] kann auch –jar file.jar stehen, wenn in dem Paket
file.jar die entsprechende Klasse mit Klassenname enthalten ist.
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
17
2.3.2 IDEs
2.3.2 IDEs
IDEs (Integrated Development Environments) sind Programmier- bzw.
Entwicklungswerkzeuge, die es erlauben, auf komfortable Art und Weise
Computer-Programme zu erstellen.
Es gibt leistungsfähig kommerzielle IDEs, die je nach Funktionalität und
Einsatzgebiet teuer werden können. Es gibt aber auch freie IDEs
(Freeware und Open-Source), die sehr von einfach und intuitiv
bedienbar bis sehr leistungsfähig sind. Z.B.:
IDEs gibt es für verschiedenste Programmiersprachen. Manche IDEs lassen sich
auch für mehrere Programmiersprachen einsetzen. Immer wiederkehrende
Ausdrücke im Quelltext eines Programms werden automatisch bzw. mittels
Knopfdruck im Editor erzeugt, was viel Schreibarbeit erspart. Das Kompilieren
und Debuggen erfolgt ebenfalls automatisch auf Knopfdruck.
– Eclipse (Open-Source): http://www.eclipse.org
– jcreator (Xinox): http://www.jcreator.com/
– NetBeans (SUN): http://www.netbeans.org/ oder http://java.sun.com/
– JBuilder Freeware (Borland): http://www.borland.com/jbuilder/
IDEs für Java kombinieren die wichtigsten Java-Tools (javac, java, javadoc, jar,
eventuell jdb, javap...) mit einer benutzerfreundlichen Grafikbedienoberfläche
und einem komfortablen Editor. Viele (bzw. die meisten) Interaktionen mit dem
JDK sind vollständig grafisch unterstützt.
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
– bluej (Monash University): http://www.bluej.org/
– ...
19
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
20
2.3.2 IDEs
Lernziele
CASE-Tools (Computer-Aided Software Engineering) gehen noch einen
Schritt weiter und generieren aus einer Modellierung direkt Quellcode
und kompilieren diesen zum fertigen Programm. CASE-Tools für Java
sind z.B.:
Erklären können, was JDK, SDK, JRE, J2SE, IDE, CASE usw. bedeutet
und wie sich diese Varianten unterscheiden.
– Eclipse mit Plugin (Open-Source): http://www.eclipse.org
– Poseidon (Gentleware): http://www.gentleware.com
Java SDK der neusten Version samt Online-Dokumentation auf dem
Computer installieren können und den Inhalt der einzelnen JavaVerzeichnisse grob kennen.
– Rational Rose (Rational): http://www.rational.com/
– Together (Borland): http://www.borland.com/together/
– ...
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
21
© Prof. Dr. Rolf Dornberger
OOP: 2 JDK/SDK/JRE und Java Entwicklungswerkzeuge
22.09.2010
22
Herunterladen