Nach mehr als fünf Jahren Entwicklungszeit erschien vor kurzem Java in Vesion 7. Insgesamt enthält die neue Version rund 9.500 Verbesserungen. Nachfolgend eine Liste der wichtigsten Neuerungen:
- neue API für Dateisystem-Operationen (NIO.2)
- neue API für Multi-Core-Systeme
- neuer Garbage Collector (G1)
- verbesserten Unterstützung von dynamischen Programmiersprachen (Ruby, Python und Javascript)
- Unterstützung von Unicode 6.0
- Überarbeitung zahlreicher Bibliotheken
Eine detaillierte Übersicht aller Neuerungen findet ihr in den Release Notes.
Programmieren in Java soll leichter werden
Zu den oben genannten großen Änderungen kommen noch einige kleinere Verbesserungen, die vor allem das Programmieren in Java erleichtern sollen. Nachfolgend ein paar Beispiele.
Numerische Literale lassen sich nun neben der dezimalen (36), hexadezimalen (0x24) sowie oktalen (044) auch in der binären (0b100100) Schreibweise definieren.
[sourcecode language=”java”]public static final float PI = 3.141592f;
int decimal = 36;
int hex = 0x24;
int octal = 044;
int binary = 0b100100;
[/sourcecode]
Zur besseren Lesbarkeit dürfen numerische Literale nun mit Unterstrichen versehen werden. Allerdings nicht am Anfang oder am Ende und an zweideutigen Stellen, wie beispielsweise vor oder nach dem “x” in der hexadezimalen Schreibweise. Der Compiler entfernt beim Parsen die Unterstriche.
[sourcecode language=”java”]int longBinary = 0b1001_0011_0110_1011;
int longHex = 0xAA33_BE41;
int million = 1_000_000;[/sourcecode]
Das Anlegen von Objekten mit generischen Parametern wurde durch die Einführung des Diamond-Operators (<>) erleichtert. Auf der rechten Seite muss die Zuweisung nicht mehr wiederholt werden. Dadurch spart man sich Tipparbeit und der Quellcode wird kürzer und übersichtlicher.
[sourcecode language=”java”]HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>();
HashMap<String, List<Integer>> map = new HashMap<>(); // kürzere Schreibweise
ArrayList<String> liste = new ArrayList<String>();
ArrayList<String> liste = new ArrayList<>() // kürzere Schreibweise;[/sourcecode]
Switch-Case-Anweisungen funktionieren ab Java 7 neben primitiven Datentypen nun auch mit Zeichenketten. Dabei wird der String im Switch-Ausdruck mit der Methode “equals” mit dem Case-Fall verglichen. Anschließend gibt er die entsprechende Zahl zurück.
[sourcecode language=”java”]public static int getDay(String day) {
int dayNumber = 0;
if (day == null) { return dayNumber; }
switch (day.toLowerCase()) {
case "montag": dayNumber = 1; break;
case "dienstag": dayNumber = 2; break;
case "mittwoch": dayNumber = 3; break;
case "donnerstag": dayNumber = 4; break;
case "freitag": dayNumber = 5; break;
case "samstag": dayNumber = 6; break;
case "sonntag": dayNumber = 7; break;
default: dayNumber = 0; break;
}
return dayNumber;
}[/sourcecode]
Bei den Exceptions gibt es nun die Möglichkeit mehrere Exceptions in einem Catch-Block zu fangen. Zwischen den verschiedenen Typen steht dann jeweils ein OR-Zeichen (|). Sehr hilfreich um eine Aneinanderreihung von Catch-Blöcken zu vermeiden.
[sourcecode language=”java”]
try{
// …
} catch (IOException e) {
System.out.println("Operation xyz fehlgeschlagen: " + e);
} catch (ParseException e) {
System.out.println("Operation xyz fehlgeschlagen: " + e);
}
try {
// …
} catch (IOException | ParseException e) {
System.out.println("Operation xyz fehlgeschlagen: " + e);
}[/sourcecode]

Rund acht Wochen nach der Veröffentlichung von Firefox 5 steht ab heute Version 6 zum Download bereit. Ursprünglich sollte die Version erst nächsten Dienstag am 16.08.2011 erscheinen.
Anfang diesen Monats hatte ich das Vergnügen an einem Ruby on Rails Kurs teilnehmen zu dürfen. Nach einem Tag Einführung in die Programmiersprache Ruby konnten uns vier Tage lang die Grundlagen des quelloffenen Frameworks Ruby on Rails beigebracht werden. Neben einem rudimentären Blog konnte ich während dieser Zeit sogar eine Notizzettel-Webanwendung realisieren.
Ein Leser hat mich um eine portable Version von der aktuellsten IETester Version gebeten.
Mittlerweile
Trotz des großen Versionsprungs von 3.1.11 auf 5.0 hat sich im neuen Thunderbird relativ wenig im Vergleich zum Vorgänger getan. Das neue Design dürfte am auffälligsten sein, wobei es mir ehrlich gesagt nicht sehr gefällt. Ansonsten gibt es den neuen aus Firefox bekannten Add-ons-Manager, mittels Drag & Drop frei verschiebbare Tabs und einen verbesserten Assistent zum Konto einrichten. So reicht es im Normalfall aus, die E-Mail-Adresse, den Namen und das Passwort anzugeben. Außerdem wird jetzt neben Anhängen die dazugehörige Dateigröße angezeigt.
Vor zwei Tagen habe ich noch über den Release Candidate 
Neueste Kommentare