Neues in Java 5
Der Nachfolger von Java 1.4 heißt jetzt Java 5 und es hat sich unglaublich viel getan! Da Java sowie immer Programmiersprache und Bibliothek auf einmal war, finden wir auch genauso Änderungen in beiden Bereichen. In die Sprache sind Features wie Generics und Annotationen eingezogen und die Bibliotheken mit fast 3.300 Klassen noch fetter geworden.
Der Nachfolger von Java 5 ist Java 6.
Wichtige hinzugekommene Pakete
java.lang.annotation
java.lang.instrument
java.lang.management
java.util.concurrent
javax.sql.rowset
javax.xml.xpath
Wichtige hinzugekommene Klassen und Schnittstellen
Closeable
Appendable
Iterable
ProcessBuilder
Type
,TypeVariable
StringBuilder
(die nicht-synchronisierte Variante vonStringBuffer
)Formatter
Queue
undBlockingQueue
. Mit implementierenden KlassenArrayBlockingQueue
,ConcurrentLinkedQueue
,DelayQueue
,LinkedBlockingQueue
,LinkedList
,PriorityBlockingQueue
,PriorityQueue
,SynchronousQueue
UUID
MouseInfo
PointerInfo
Einige hinzugekommene Funktionenn
- In
Collections
:reverseOrder(...)
,addAll(...)
,disjoint(...)
Appendable append(CharSequence csq) throws IOException
- Unicode Code Points in String-Klassen
- Neuer Konstruktor
String(StringBuilder)
- In
StringBuffer
trimToSize()
und ein neuer KonstruktorStringBuffer(CharSequence)
. Zusätzlich zum Einfügen und Anhängen:append(CharSequence s)
,append(CharSequence s, int srcOffset, int len)
,insert(int dstOffset, CharSequence s)
,insert(int dstOffset, CharSequence s, int srcOffset, int len)
- In String statt
s.indexOf > -1
nuncontains(String)
Thread.getStackTrace()
,Thread.getAllStackTraces()
- In
Class
TT cast(Object obj)
- InetAddress unterstützt Erreichbarkeit von Hosts mit
isReachable()
- Proxy-Unterstützung in
Socket
- In
Arrays
:toString(Array)
,hashCode(Array)
,deepEquals(Object[] a1, Object[] a2)
,deepToString(Object[] a)
sowiedeepHashCode(Object a[])
nanoTime()
inSystem
undgetenv()
für die System-UmgebungsvariablenvalueOf()
inByte
,Character
,Short
,Integer
,Long
,Float
,Double
,parseXXX()
verallgemeinerttoHexString(double d)
inDouble
undFloat
- Bitfunktionen wie
bitCount()
,highestOneBit()
,lowestOneBit()
inInteger
. Math
:log10()
,,cbrt()
für dritte Wurzel,ulp()
für Abstand vondouble
zufloat
, Hyperbolische Funktionen.Properties
in XML speicherndefineClass()
inClassLoader
nimmt nun auchByteBuffer
-Objekte
APIs
Links zu Generics
- Java Generics FAQs
- Java 6 Core Techniken (Friedrich Esser)
- Generics in the Java Programming Language (Gilada Bracha. 07/2004). Aktualisiert im Java-Tutoral von Sun.
- Java Generics: Raw Type und Type Erasure (Klaus Kreft, Angelika Langer. JavaSPEKTRUM 2007)
- Java theory and practice Generics gotchas (Brian Goertz. 01/2005)
- Talking Tiger, generically speaking (Matt Quail. 05/2004)
- Typgenerizität in Java 1.5 (Minning)
- Collections and Generics in Java SE 1.5 (Dean Wette. 05/2004)
- ONJava.com Generic Types, Part 1 (David Flanagan. 05/2005)
- Diagnosing Java code: Java generics without the pain (Eric Allen, IBM Developer Works)
Links allgemein
- New Features and Enhancements J2SE 5.0 (Sun)
- New JDBC SQL/XML Features Improve XML Data Handling (Oliver Kaljuvee. 1/2007)
- Declarative Programming in Java (Narayanan Jayaratchagan. 04/2004)
- Using Variable Arguments
- Counting Characters (Problems with Unicode 4)
- Java theory and practice More flexible, scalable locking in JDK 5.0
- Concurrent Programming with J2SE 5.0
- Taming Tiger - Formatted output
- A First Look at JSR 166 Concurrency Utilities
- Java 1.5 Tiger: A Developer's Notebook: Chapter 3: Enumerated Types
- Implementing the State Design Pattern using Enums
- Java SE 1.5 in a Nutshell
- Object Computing, Inc. - Java News Brief - August 2004
- Java Community Process Maintenance Review for Java SE 1.5.0 Beta 1
- Using JConsole to Monitor Applications
- Concurrent Programming with Java SE 5.0
- An annotation-based persistence framework
- Effective Concurrency for the Java Platform (Simon Ritter)