Java: Kapitel 1 Überblick

Werbung
© Holger Röder
Java: Kapitel 1
Programmentwicklung
Winter 2009/2010
Überblick
se
Programmentwicklung WS 2009/2010
Holger Röder
[email protected]
© Holger Röder
Winter 2009/2010
Programmentwicklung
se
Was ist Java?
  Die Java-Technologie umfasst
  die Programmiersprache Java sowie
  die Java-Plattform (Laufzeitumgebung, Werkzeuge
Standardbibliothek JDK etc.).
  Programmiersprache und Plattform treten meist gemeinsam auf!
Eine begriffliche Unterscheidung ist selten (auch nicht im Folgenden!).
  Eigenschaften von Java (laut der Definition von Sun):
  Interpretiert
  Einfach
  Schnell
  Objektorientiert
  Parallel (multithreaded)
  Robust
  Dynamisch
  Sicher
  Dezentral
  Architekturneutral
  Portierbar
2
© Holger Röder
Winter 2009/2010
Programmentwicklung
se
Historische Entwicklung
  1991–1994: Entwicklung der Sprache Oak bei der Firma Sun
Microsystems
  Software für elektronische Alltagsgeräte
(Kaffeemaschinen, Set-Top-Boxen etc.)
  1995: Umbenennung in Java
  Neue Zielrichtung: Anwendungen für das zunehmend
populäre World Wide Web (WWW)
  1996: JDK 1.0
  1997: JDK 1.1
  1998: J2SE 1.2 (Java 2, JDK 1.2)
  2000: J2SE 1.3
  2002: J2SE 1.4
  2004: Java SE 5.0 (1.5)
Stand dieser Vorlesung
  2006: Java SE 6.0
  2010: Java 7 ?
3
© Holger Röder
Winter 2009/2010
Programmentwicklung
se
Literaturhinweise / Dokumentation
  The Java Tutorials (Sun)
  http://java.sun.com/docs/books/tutorial/
  Christian Ullenboom: Java ist auch eine Insel
  8. Auflage, 2009, Galileo Computing
  Komplett und kostenlos online verfügbar
  http://openbook.galileocomputing.de/javainsel8/
  API: Java Platform, Standard Edition 6, API Specification
  http://java.sun.com/javase/6/docs/api/
  Sprachspezifikation: The Java Language Specification
  http://java.sun.com/docs/books/jls/
4
© Holger Röder
Winter 2009/2010
Programmentwicklung
se
Die Java-Plattform
  Die Java-Plattform existiert in drei verschiedenen Varianten (Editions):
  Jeweils gleicher Java-Sprachkern
  Unterschiedliche Standardbibliotheken, die auf den jeweiligen
Anwendungsbereich zugeschnitten sind
  Standard Edition (SE):
  „Normales“ JDK, Client-Anwendungen
  Enterprise Edition (EE):
  Server-Anwendungen innerhalb eines Application Servers/Servlet
Containers
  Micro Edition (ME):
  Eingebettete Systeme, Handys, sonstige ressourcenbeschränkte
Systeme
  Inhalt dieser Vorlesung: „SE + ein wenig EE“
5
© Holger Röder
Programmentwicklung
Winter 2009/2010
Überblick: Java SE
se
Quelle: http://java.sun.com/javase/6/docs/
6
© Holger Röder
  Im Gegensatz zu vielen anderen Übersetzern erzeugt der Java-Compiler
keinen plattformabhängigen Maschinencode, sondern JavaProgrammcode (Bytecode) für eine virtuelle Maschine.
  Die virtuelle Maschine (Java Virtual Machine, JVM) interpretiert den
Bytecode und führt ihn aus.
  Nachteil: langsamer als die direkte Ausführung von Maschinencode
  Just-In-Time-Compiler mildern dieses Problem!
  Vorteil: Bytecode ist plattformunabhängig  gleicher Bytecode kann von
JVMs auf unterschiedlichen Plattformen ausgeführt werden.
Programmentwicklung
Winter 2009/2010
Bytecode und virtuelle Maschine
se
7
© Holger Röder
Winter 2009/2010
Programmentwicklung
se
Java-Programme, Einsatzgebiete
  Applikationen
  Selbständige, „normale“ Programme
  Werden mit dem Java-Interpreter direkt ausgeführt
  Keine Sicherheitseinschränkungen (Dateizugriff etc.)
  Applets
  Unselbständige Programme
  Eingebettet in HTML-Seiten, werden im Browser ausgeführt
  Sicherheitseinschränkungen möglich (Sandbox-Prinzip, bspw. für
Dateizugriff, Netzwerkzugriff etc.)
  Spezielle Programmierschnittstelle
  Server-Anwendungen (Java EE)
  Servlets und JSPs (Java Server Pages) zur serverseitigen
Generierung von HTML-Seiten
  Geschäftslogik: Enterprise Java Beans (EJBs), bieten Unterstützung
für Transaktionen, Namensdienste, Sicherheit etc.
  Web Services
8
© Holger Röder
„Hello World!“ in Java
Datei HelloWorld.java
Methode main:
fest definierte Startmethode für
Java-Applikationen
Winter 2009/2010
Attribut text
Klasse
HelloWorld
class HelloWorld {
private String text = "abc";
public static void main(String[] args) {
System.out.println("Hello World!");
}
Programmentwicklung
}
se
Aufruf der Methode println:
Text-Ausgabe auf der Konsole
9
© Holger Röder
Java-Anwendungen erstellen und starten
  Minimalausstattung: Editor + Java SE 6.0 SDK von Sun
Winter 2009/2010
1.  Quellcode schreiben, speichern (HelloWorld.java)
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
2.  Java-Bytecode erzeugen (kompilieren, erzeugt HelloWorld.class)
Programmentwicklung
javac HelloWorld.java
se
3.  Java-Bytecode ausführen
(interpretieren)
java HelloWorld
10
© Holger Röder
  Sehr umfangreiche und komfortable Java-Entwicklungsumgebung
  Projekte verwalten, Code schreiben, kompilieren, ausführen,
debuggen, testen, Server verwalten etc. innerhalb eines einzigen
Werkzeugs
  Open Source: http://www.eclipse.org/downloads/
Programmentwicklung
Winter 2009/2010
Eclipse Java IDE
se
11
© Holger Röder
Winter 2009/2010
Programmentwicklung
se
Hallo Eclipse!
1.  Neues Java-Projekt erstellen:
File > New > Project, Java Project
  Projektnamen eingeben
  Finish
2.  Neue Klasse erstellen: File > New > Class
  Name der Klasse eingeben
  Häkchen bei public static
void main (String[] args)
setzen
3.  Main-Methode schreiben
4.  Ausführen:
Run > Run as > Java Application
12
Herunterladen