Archiv der Kategorie: Java

Java 10

Nur sechs Monate nach Java 9 ist Java 10 fertig. Absurderweise ist damit Java 9, auf das die Java-Gemeinde dreieinhalb Jahre warten musste, schon wieder obsolet. Für Java 9 sind keine Updates mehr vorgesehen; aus Sicherheitsgründen ist ein Wechsel auf Java 10 also zwingend erforderlich. Auch Java 10 wird nur ein kurzes Leben haben: Im Herbst folgt bereits Java 11. Erst diese Version wird Long Time Support genießen, wobei aber noch unklar ist, wie lange die Long Time währen soll (siehe hier).

Die wichtigste Neuerung in Java 10 nennt sich Local-Variable Type Inference und erlaubt dem Compiler, den Variablentyp selbst zu erkennen. Die IntelliJ IDEA wird Java 10 ab Version 2018.1 unterstützen. Im aktuell verfügbaren Release Candidate funktioniert das schon wunderbar.

Java 10 weiterlesen

Java-Versions-Wahnsinn

Der Schritt von Java SE 8 hin zu Java SE 9 hat beachtliche dreieinhalb Jahre gedauert. Der Weg war steinig, und das hatte nicht nur mit der eigentlichen Implementierung der Neuerungen zu tun. Bis Java SE 9 im September 2017 endlich ausgeliefert werden konnte, mussten auch viele (firmen-)politische Differenzen ausgeräumt werden.

Aktuelle und zukünftige Java-Versionsnummern

Nun haben wir also Java 9. Allmählich lernen IDEs wie Eclipse richtig mit den Neuerungen umzugehen, insbesondere also mit dem neuen Modulsystem. Langsam kommt Java 9 auf Rechnern in den Labors von Schulen und Universitäten bzw. in den Entwicklungsabteilungen von Firmen an. Noch langsamer etabliert sich OpenJDK 9 unter Linux. (In Ubuntu 17.10 ist OpenJDK 9 nur in der universe-Paketquelle, in Fedora 27 gilt OpenJDK 9 als Technology Preview. Bei den Enterprise-Distributionen ist ohnedies das Warten auf die nächste Version angesagt, oder natürlich die manuelle Installation abseits der offiziellen Paketquellen.)

Aktualisiert: 4.5.2018

Java-Versions-Wahnsinn weiterlesen

Java 9: Collections komfortabler initialisieren

Viele Programmiersprachen kennen bequeme Kurzschreibweisen zur Initialisierung von Maps, Sets etc. In Java gibt’s das leider nur für Arrays (also int [] x = {1, 2, 3}). Daran wird auch Java 9 nichts ändern, JEP186 wurde vorerst verworfen. Aber immerhin wurde stattdessen JEP269 implementiert. Dieser Erweiterungsvorschlag sieht die neue Methoden List.of, Set.of und Map.of vor, mit denen sich Collections recht komfortabel initialisieren lassen. (JEP = JDK Enhancement Proposals).

Java 9: Collections komfortabler initialisieren weiterlesen

Linux: Eclipse findet Java nach Update nicht mehr

Der Eclipse-Installer von Eclipse 4.5 Mars speichert in eclipse/java-mars/eclipse/eclipse.ini unglücklicherweise den absoluten Pfad zur gerade aktuellen Java-Installation, in meinem Fall (unter Fedora 22) z.B.:

-vm
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.60-14.b27.fc22.x86_64/jre/bin

Wird nun Java im Rahmen eines Updates auf eine neue Version aktualisiert, findet Eclipse Java nicht mehr und zeigt beim Startversuch nur eine Fehlermeldung an.

Linux: Eclipse findet Java nach Update nicht mehr weiterlesen