Diagnose Kommandos kommen in Java 8 und Java 7u4

Das werden wir im nächsten Build bekommen, Quellen schon mal hier: http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/0194fe5ca404.

A diagnostic command is an action that can be invoked dynamically mainly for troubleshooting and diagnosis.

Die Idee ist also, das man ein Kommandozeilentool jcmd hat, mit dem man Kommandos an die JVM schicken kann. Dabei sind unterschiedliche Kommandos vordefiniert. Mit dem Argument PerfCounter.perf werden Performance-Kenngrößen ausgegeben.

Erster Draft von JSR-335 (Lambda) verfügbar + Devoxx Folien

Siehe http://mail.openjdk.java.net/pipermail/lambda-dev/2011-November/004191.html bzw. http://jcp.org/en/jsr/detail?id=335.

Folien zur aktuellen Lambda-Version von der Konferenz sind hier: http://blogs.oracle.com/briangoetz/resource/devoxx-lang-lib-vm-co-evol.pdf.

Der aktuelle Compiler weist aber noch Unterschiede auf, sie werden hier diskutiert: http://mail.openjdk.java.net/pipermail/lambda-dev/2011-November/004253.html.

Ergebnisse “JDK8 Warnings Cleanup Day”

In den Dokus bzw. im Code sind immer wieder kleine Bugs und Warnings, die leicht behoben werden können. Daher lief am 1. Dez. ein Cleanup Day: http://mail.openjdk.java.net/pipermail/jdk8-dev/2011-December/000380.html, http://wikis.sun.com/display/OpenJDK/JDK8+Warnings+Cleanup+Day. In der Mailingliste werden die Bugs besprochen und es ist ganz interessant, was da rausgekommen ist.

Java 8 Änderungen an BigInteger: intValueExact(), longValueExact() und shortValueExact()

Die Methoden intValue(), longValue() der Klasse BigInteger (und shortValue(), was aus BigInteger aus Number erbt) liefen ein int/long/short des repräsentierten Werteobjekts, jedoch ist nicht zwingend, dass die Werte in den Datentyp int/long/short passen; falls nicht, werden sie einfach wie bei einer expliziten Typanpassung abgeschnitten. Die in Java 8 eingeführten Methoden intValueExact(), longValueExact() und shortValueExact() lösen eine ArithmeticException aus, falls der vom BigInteger repräsentierte Wert nicht ohne Verlust in den primitiven Datentyp passt.

http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/2a8072c7cf99