http://javaconceptoftheday.com/java-practice-coding-questions-on-enum-types/
Zusätzliche statische Initialisier im enum
Es sind Blöcke der Art static { … } im Rumpf eines Aufzählungstyps erlaubt. Lädt die Laufzeitumgebung einer Klasse, initialisiert sie der Reihe nach alle statischen Variablen bzw. führt die static-Blöcke aus. Die Aufzählungen sind statische Variablen und werden beim Laden initialisiert. Steht der statische Initialisierer hinter den Konstanten, so wird auch er später aufgerufen als die Konstuktoren, die vielleicht auf statische Variablen zurückgreifen wollen, die der static-Block initialisiert. Ein Beispiel:
public enum Country {
GERMANY, UK, CHINA;
{
System.out.println( "Objektinitialisierer" );
}
static {
System.out.println( "Klasseninitialisier" );
}
private Country() {
System.out.println( "Konstruktor" );
}
public static void main( String[] args ) {
System.out.println( GERMANY );
}
}
Die Ausgabe ist:
Objektinitialisierer
Konstruktor
Objektinitialisierer
Konstruktor
Objektinitialisierer
Konstruktor
Klasseninitialisier
GERMANY
Die Ausführung und Ausgabe hängt von der Reihenfolge der Deklaration ab und jede Umsortierung führt zu einer Verhaltensänderung. Jetzt könnten Programmierer auf die Idee kommen, mögliche static-Blöcke an den Anfang zu setzen, vor die Konstanten. Meine Leser sollten das Ergebnis testen …
Thema der Woche: Properties und Bean-Bindings
- Lies https://docs.oracle.com/javase/8/javafx/properties-binding-tutorial/binding.htm.
- Simuliere in einem Beispiel den Unterschied zwischen einem Change- und Invalid-Event.
- Was ist ein Java SE Profil und gehört die Property-API immer zu jedem Profil?
- Verschaffe Überblick über https://docs.oracle.com/javase/8/javafx/api/javafx/beans/binding/Bindings.html.
- Baue ein Bindung für ein double mit folgender Logik: ist das double echt kleiner als 0, ist das Ergebnis -1, wenn es größer/gleich 0 ist, ist das Ergebnis +1.
- Schreibe einige neues Bindings:
- von double -> boolean, wenn double == 0 ist,
- von Point -> double für den Abstand zum Nullpunkt
- von String -> Point, wobei der String „1,23“ dann zum new Point(1,23) wird
- verknüpfe die drei letzten Properties, dass ein String mit einem Punkt auf boolean abgebildet wird
Eclipse Mars Update 1 (aka 4.5 SR 1, aka 4.5.1)
Download unter https://www.eclipse.org/downloads/. Alle Mars-Änderungen: https://www.eclipse.org/mars/noteworthy/. Neu dazugekommen ist http://projects.eclipse.org/projects/tools.buildship, „Buildship: Eclipse Plug-ins for Gradle“.
Java im TIOBE-Index weit vorne auf #1
Sprachen-Trends auf GitHub, Java Platz 2
https://github.com/blog/2047-language-trends-on-GitHub:

Eric Lippert schreibt über „Top 10 Worst C# Features“
http://www.informit.com/articles/article.aspx?p=2425867
Auch interessant für Java, und erstmalig für mich ein offizieller Hinweis, das C# Dinge von Java geerbt hat, was MS immer verneint. Eric ist:
During his sixteen years at Microsoft he was a developer of the Visual Basic, VBScript, JScript and C# compilers and a member of the C# language design committee; he is now a C# MVP.
Neues ReactJS Nachrichtenportal
http://reactjs.de/ ist eine neue Webseite, die sich mit der JS-Bibliothek ReactJS beschäftigt und Nachrichten kanalisiert.
http://reactjs.de/posts/react-tutorial charakterisiert es so:
React ist eine JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen. Es wurde 2013 von Facebook unter BSD-Lizenzveröffentlicht und schlägt seitdem immer größere Wellen und beeinflusst nachhaltig die gesamte JavaScript-Frontendlandschaft. Es wird verwendet von Facebook, Instagram, Whatsapp, Yahoo, AirBnB, dem Atom-Editor undvielen anderen mehr.
WildFly 10 Beta herausgegeben
Detail unter http://wildfly.org/news/2015/08/09/WildFly10-Beta1-Released/ und https://developer.jboss.org/wiki/WildFly1000Beta1ReleaseNotes, kurz zusammengefasst:
-
Continued Java EE7 Support
-
Java 8+ Required
-
ActiveMQ Artemis
-
JavaScript Support with Hot Reloading
-
Offline CLI Support For Domain Mode
-
HA Singleton Deployments
-
Migration Operations for Legacy Subsystems
-
Capabilities and Requirements
-
Hibernate 5
-
Infinispan 8
Guava 19.0-rc1 herausgekommen
Die Änderungen führt https://github.com/google/guava/wiki/Release19 auf.
Von meiner Seite bin ich nicht mehr so scharf auf Guava, ich komme mittlerweile seit Java 8 ganz gut ohne aus. Klar, könnte ich mehr Guava nutzen, doch ich kann auch ohne, auch wenn ich einmal eine Argument mehr an eine Methode setze.
Heiß her geht auch die Diskussion auf einen Java 8-Umstieg (https://groups.google.com/forum/#!topic/guava-discuss/fEdrMyNa8tA). Die Google Entwickler wissen nicht so recht, was der beste Weg ist, da man bemüht ist, mit einer neuen Java 8-Version keinen alten Code zu brechen.
Oracle schließt kürzlich entdeckte Zero-Day-Lücke in Java 8
zdnet.de schrieb:
Mit dem Juli-Update für zahlreiche Programme schließt Oracle insgesamt 193 Sicherheitslücken, darunter auch die von Trend Micro entdeckte Zero-Day-Lücke in Java.
Zero-Day-Lücke in Java 8
Java-API gehört Oracle
Eclipse 4.5 (Mars)

https://www.eclipse.org/org/press-release/20150624_mars_release.php Downloads unter https://www.eclipse.org/downloads/, die alte Version Luna ist damit verdrängt.
Vaadin 7.5 ist fertig
https://vaadin.com/blog/-/blogs/vaadin-7-5-released
Und tutego hat auch ein Seminar dazu: http://www.tutego.de/seminare/java-schulung/Vaadin-Framework-Kurs.html
com.tutego:jrtf:0.7 released in Maven
Meine jrtf Bibliothek https://github.com/ullenboom/jrtf/blob/master/README.md ist jetzt auch im Maven-Verzeichnis zu finden: https://repo1.maven.org/maven2/com/tutego/jrtf/
Jetzt bekommt auch JavaScript seinen Bytecode?
Eine Diskussion unter https://brendaneich.com/2015/06/from-asm-js-to-webassembly/.
Java EE 7 Tutorial auf github
Java EE 7 Hands-on Lab gibt es hier: https://github.com/javaee-samples/javaee7-hol. Das ganze aufbereitet: https://htmlpreview.github.io/?https://github.com/javaee-samples/javaee7-hol/blob/master/docs/javaee7-hol.html. Das Tutorial ist von Arun Gupta, der sicherlich auf GitHub Erweiterungen gerne annimmt.
Neuer Editor/Mini-IDE von Microsoft
https://code.visualstudio.com/ hat MS neu vorgestellt. Prima für Webentwickler. Inklusive Git-Zugriff. Für Win, Linux und Mac OS X.
Oracle verschiebt Java EE 8 auf das erste Halbjahr 2017
Zitat ZDNet:
„Oracle begründet die Verschiebung in einem Blogbeitrag zum einen mit Verzögerungen bei der Gründung der nötigen Expertengruppen. Zum anderen hätten die Spec Leads noch anderweitige Verpflichtungen, so dass sie sich nicht voll auf Java EE 8 konzentrieren konnten.“
