Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint 2 19.05.2014 Überblick Java 5 neue...

Preview:

Citation preview

Neuerungen in Java 5/6/7

Stefan Bühler für InfoPoint 211.04.23

Überblick

Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek

Java 6 Erweiterungen Klassenbibliothek

Java 7 Java wird Open Source

Referenzen

Stefan Bühler für InfoPoint 311.04.23

Java 5 – neue Sprachfeatures

Generics Autoboxing / Unboxing Enhanced „for“ Loop VarArgs Enums Static import Metadata (Annotations)

Stefan Bühler für InfoPoint 411.04.23

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

Stefan Bühler für InfoPoint 511.04.23

Generics IILegacy Code

Stefan Bühler für InfoPoint 611.04.23

Generics IIITypsichere Collections

Stefan Bühler für InfoPoint 711.04.23

Generics IVtypsichere Collections (dekompiliert)

Stefan Bühler für InfoPoint 811.04.23

Autoboxing / Unboxing I

automatische Umwandlung zwischen elementaren Datentypen und ihren Wrapper-Objekten

Stefan Bühler für InfoPoint 911.04.23

Autoboxing / Unboxing IILegacy Code

Stefan Bühler für InfoPoint 1011.04.23

Autoboxing / Unboxing IIIVereinfachung 1

Stefan Bühler für InfoPoint 1111.04.23

Autoboxing / Unboxing IV Vereinfachung 2

Stefan Bühler für InfoPoint 1211.04.23

Autoboxing / Unboxing IV Vereinfachung 2 (dekompiliert)

Stefan Bühler für InfoPoint 1311.04.23

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

Stefan Bühler für InfoPoint 1411.04.23

Enhanced „for“ Loop II

Stefan Bühler für InfoPoint 1511.04.23

Enhanced „for“ Loop IIIdekompiliert

Stefan Bühler für InfoPoint 1611.04.23

VarArgs I

variable Anzahl Argumente in Methoden / Konstruktoren

immer letztes Argument der Methode immer vom selben Typ

Stefan Bühler für InfoPoint 1711.04.23

VarArgs II

Stefan Bühler für InfoPoint 1811.04.23

VarArgs III (dekompiliert)

Stefan Bühler für InfoPoint 1911.04.23

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)

Stefan Bühler für InfoPoint 2011.04.23

Enums II

Stefan Bühler für InfoPoint 2111.04.23

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

Stefan Bühler für InfoPoint 2211.04.23

Static import II

Stefan Bühler für InfoPoint 2311.04.23

Annotations I

Anbringen von Zusatzinformationen, die zur Compile- und/oder Laufzeit zur Verfügung stehen

erlaubt das Weglassen von handgeschriebenem ‚boilerplate‘ Code, der stattdessen generiert wird

als Applikationsentwickler häufiger „verwenden“ als „definieren“

Annotations vorgegeben durch JDK / Klassenbibliotheken (z. B. JUnit4)

Stefan Bühler für InfoPoint 2411.04.23

Annotations II

Stefan Bühler für InfoPoint 2511.04.23

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 Input / Output

Stefan Bühler für InfoPoint 2611.04.23

Ocean Metal Look and Feel

Stefan Bühler für InfoPoint 2711.04.23

Java 6 – Erweiterungen Klassenbibliothek

JDBC 4.0 Anpassung und Erweiterung des Collection

Framework (u. a. Deque) Scripting Schnittstelle .NET interoperabler Webservice per Annotation System Tray Unterstützung Splash Screen Unterstützung

Stefan Bühler für InfoPoint 2811.04.23

JDBC 4.0

Stefan Bühler für InfoPoint 2911.04.23

Scripting Schnittstelle

Stefan Bühler für InfoPoint 3011.04.23

.NET interoperabler Webservice per Annotation I

Stefan Bühler für InfoPoint 3111.04.23

.NET interoperabler Webservice per Annotation II

Stefan Bühler für InfoPoint 3211.04.23

Java 7 – Java wird Open Source

Freigabe aller wesentlichen JDK-Quelltexte der SE bis Mitte 2007 (GPLv2, Classpath exception)

bereits verfügbar: javac, HotSpot VM, JavaHelp

Marke Java und Logo bleiben geschützt

Stefan Bühler für InfoPoint 3311.04.23

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

Recommended