Neuerungen in Neuerungen in Java 5/6/7

Werbung
Neuerungen in
Java 5/6/7
Überblick
„
Java 5
… neue
Sprachfeatures
… Erweiterungen Klassenbibliothek
„
Java 6
… Erweiterungen
„
Java 7
… Java
„
Klassenbibliothek
wird Open Source
Referenzen
07.12.2006
Stefan Bühler für InfoPoint
2
Java 5 – neue Sprachfeatures
Generics
„ Autoboxing / Unboxing
„ Enhanced „for“
„for Loop
„ VarArgs
„ Enums
E
„ Static import
„ Metadata (Annotations)
„
07.12.2006
Stefan Bühler für InfoPoint
3
Java 5 – Generics I
generische Datentypen
„ ähnlich wie Templates in C++
„ Typsicherheit zur Compilezeit
„ Unterstützung durch Collections
Framework; Legacy Code führt zu
Compiler Warnungen
Compiler-Warnungen
„
07.12.2006
Stefan Bühler für InfoPoint
4
Generics II
Legacy
g y Code
07.12.2006
Stefan Bühler für InfoPoint
5
Generics III
Typsichere
yp
Collections
07.12.2006
Stefan Bühler für InfoPoint
6
Generics IV
typsichere Collections (dekompiliert)
07.12.2006
Stefan Bühler für InfoPoint
7
Autoboxing / Unboxing I
„
automatische Umwandlung zwischen
elementaren Datentypen und ihren
pp
j
Wrapper-Objekten
07.12.2006
Stefan Bühler für InfoPoint
8
Autoboxing / Unboxing II
Legacy
g y Code
07.12.2006
Stefan Bühler für InfoPoint
9
Autoboxing / Unboxing III
Vereinfachung
g1
07.12.2006
Stefan Bühler für InfoPoint
10
Autoboxing / Unboxing IV
Vereinfachung
g2
07.12.2006
Stefan Bühler für InfoPoint
11
Autoboxing / Unboxing IV
Vereinfachung
g 2 ((dekompiliert)
p
)
07.12.2006
Stefan Bühler für InfoPoint
12
Enhanced „for“ Loop I
„für jedes Element vom Typ <T> in Menge
<M>“
„ auf eigenen Typen verfügbar durch
Implementierung des Interface
java lang Iterable
java.lang.Iterable
„
07.12.2006
Stefan Bühler für InfoPoint
13
Enhanced „for“ Loop II
07.12.2006
Stefan Bühler für InfoPoint
14
Enhanced „for
for“ Loop III
dekompiliert
p
07.12.2006
Stefan Bühler für InfoPoint
15
VarArgs I
variable Anzahl Argumente in Methoden /
Konstruktoren
„ immer letztes Argument der Methode
„ immer vom selben Typ
„
07.12.2006
Stefan Bühler für InfoPoint
16
VarArgs II
07.12.2006
Stefan Bühler für InfoPoint
17
VarArgs III (dekompiliert)
07.12.2006
Stefan Bühler für InfoPoint
18
Enums I
„
„
„
„
„
Aufzählungstypen
Aufzählungen sind als Klassen, ihre Werte als
Objekte realisiert
können in switch-Statements verwendet werden
Implementieren Comparable und Serializable
Unterstützung durch Collections-Framework
(EnumSet EnumMap)
(EnumSet,
07.12.2006
Stefan Bühler für InfoPoint
19
Enums II
07.12.2006
Stefan Bühler für InfoPoint
20
Static import I
erlaubt unqualifizierten Zugriff auf
statische Member ohne vom Typ zu erben,
der die statischen Member hält
„ individuell einzelnen Member oder alle
statischen Member eines Typs
„
07.12.2006
Stefan Bühler für InfoPoint
21
Static import II
07.12.2006
Stefan Bühler für InfoPoint
22
Annotations I
„
„
„
„
Anbringen von Zusatzinformationen, die zur
Compile und/oder Laufzeit zur Verfügung
Compilestehen
erlaubt das Weglassen von handgeschriebenem
‚boilerplate‘ Code, der stattdessen generiert wird
als Applikationsentwickler häufiger „verwenden
verwenden“
als „definieren“
Annotations vorgegeben durch JDK /
Klassenbibliotheken (z. B. JUnit4)
07.12.2006
Stefan Bühler für InfoPoint
23
Annotations II
07.12.2006
Stefan Bühler für InfoPoint
24
Java 5 – Erweiterungen Klassenbibliothek
neues Look and Feel 'Ocean‘
„ Java Management Extensions (JMX)
„ Anpassung und Erweiterung des
Collection Framework (u. a. Queue,
Generics)
„ Concurrency Framework
„ Formatted
F
tt d Input
I
t / Output
O t t
„
07.12.2006
Stefan Bühler für InfoPoint
25
Ocean Metal Look and Feel
07.12.2006
Stefan Bühler für InfoPoint
26
Java 6 – Erweiterungen Klassenbibliothek
„
„
„
„
„
„
JDBC 4.0
Anpassung und Erweiterung des Collection
Framework (u. a. Deque)
Scripting Schnittstelle
.NET
NET interoperabler Webservice per Annotation
System Tray Unterstützung
S l h Screen
Splash
S
Unterstützung
U t tüt
07.12.2006
Stefan Bühler für InfoPoint
27
JDBC 4.0
07.12.2006
Stefan Bühler für InfoPoint
28
Scripting Schnittstelle
07.12.2006
Stefan Bühler für InfoPoint
29
.NET interoperabler Webservice per Annotation I
07.12.2006
Stefan Bühler für InfoPoint
30
.NET interoperabler Webservice per Annotation II
07.12.2006
Stefan Bühler für InfoPoint
31
Java 7 – Java wird Open Source
Freigabe aller wesentlichen JDKQuelltexte der SE bis Mitte 2007 (GPLv2,
p
exception)
p
)
Classpath
„ bereits verfügbar: javac, HotSpot VM,
JavaHelp
„ Marke Java und Logo bleiben geschützt
„
07.12.2006
Stefan Bühler für InfoPoint
32
Referenzen
Java 5 Docs http://java.sun.com/j2se/1.5/
„ Java 6 RC Docs http://java.sun.com/javase/6
„ Free and Open Source Java FAQ
„
http://www.sun.com/software/opensource/java/faq.jsp
07.12.2006
Stefan Bühler für InfoPoint
33
Herunterladen