Java 8

189 Beiträge · Seite 11 von 19

JavaScript, Rhino und Nashorn

· Christian Ullenboom

Java ist zwar eine tolle Allround-Programmiersprache, aber die explizite Typisierung und der Zwang, Klassen und Methoden zu deklarieren, machen Java nicht wirklich attraktiv für Skripte, wo eher die Kompaktheit zählt und wo keine lang zu pflegenden Programme entstehen. Um die JVM und die Java-Bibliotheken auch zur …

Weiterlesen: JavaScript, Rhino und Nashorn →

Die Java 8 JVM wird keine Tail Call Recursion Optimierung bekommen

· Christian Ullenboom

Endrekursion (engl. Tail Call Recursion) ist eine Besonderheit bei Methoden, dass sie mit einem rekursiven Aufruf enden. Zum Einstieg: Ist die bekannte rekursive Implementierung der Fakultät endrekursiv? Zwar sieht es optisch so aus, als ob die factorial(int) mit einem Methodenaufruf an factorial(…) endet, doch findet …

Weiterlesen: Die Java 8 JVM wird keine Tail Call Recursion Optimierung bekommen →

ThreadLocalRandom als schneller paralleler Zufallszahlengenerator

· Christian Ullenboom

Zufallszahlen sind immer nur Pseudozufallszahlen und werden mit einer mathematischen Formel aus dem Vorgänger generiert. Der Vorgänger muss dabei gespeichert werden, und das ist die Aufgabe eines Random-Objekts. Die Methode Math.random() nutzt intern ein Random-Objekt, und jetzt kann es zu Wartezeiten kommen, wenn …

Weiterlesen: ThreadLocalRandom als schneller paralleler Zufallszahlengenerator →

Tests auf null

· Christian Ullenboom

Zwei neue Methoden in Java 8 bei der Klasse Objects sind isNull(Object o) und nonNull(Object o), wohinter sich ein einfacher Test auf o == null bzw. o != null verbirgt. class java.util.Objects static boolean isNull(Object obj) static boolean nonNull(Object obj) Liefert true wenn obj gleich null bzw. nicht null ist. Im …

Weiterlesen: Tests auf null →