JVM

Java zu statisch? So wird Java dynamischer!

Obwohl Javas strenges Typsystem Entwicklern dabei hilft, Fehler beim Coden zu vermeiden, beschränkt es natürlich auf der anderen Seite deren Flexibilität, die die Nutzung von dynamischen so attraktiv macht. In seiner Session von der W-JAX 2018 gibt Rafael Winterhalter, Software Consultant bei Scienta, eine Einführung in die Codegenerierung zur Laufzeit und erklärt, wie man dies auf der Java-Plattform nutzen kann.

Java in der Cloud: Raus mit dem Alten und rein mit dem Neuen

Im Laufe des letzten Jahres hat sich in Java, der JVM und dem Java-Ökosystem einiges getan. Doch es gibt noch so viel mehr zu tun, sagt Steve Poole (IBM) und zeigt in seiner Session von der W-JAX 2018, die wirtschaftlichen und technischen Kräfte, die die Entwicklung von Java vorantreiben. Außerdem wagt er einen Blick über den Tellerrand und erklärt, wie sich Java für die Cloud bereitmacht.

Groovy vs. Kotlin – Die JVM-Sprachen im Vergleich

Die JVM ist ein großer Spielplatz, auf dem sich deutlich mehr Sprachen tummeln, als einzig und allein Java. Zwei bekannte Vertreter dieser JVM-Sprachen sind Groovy und Kotlin. Doch welche der beiden JVM-Sprachen ist die bessere? In ihrer Session auf der W-JAX 2018 wagen Jochen Kraushaar und Matthias Merdes den Vergleich. Sie sprechen über die Vor- bzw. Nachteile der Sprachen und zeigen ihre Unterschiede auf.

Consumer-driven Contracts mit Spring

In verteilten Systemen müssen Komponenten über externe Schnittstellen kommunizieren. Consumer-driven Contracts stellen einen speziellen Fall von Integrationstests dar. Sie ermöglichen es, bereits in der Entwicklung Schnittstellenverträge abzusichern, ohne dabei die beteiligten Services starten und End-to-end-Tests durchführen zu müssen. Für Spring-Entwickler stehen mit Pact JVM und Spring Cloud Contract gleich zwei Frameworks zur Verfügung, um solche Tests umzusetzen. Dieser Artikel soll bei der Entscheidung helfen, welches Framework man einsetzen möchte.

Ktor 1.0 ist erschienen

Das JetBrains-Team hat vor Kurzem eine Vorabversion des neuen Frameworks Ktor veröffentlicht. Dieses wird verwendet, um asynchrone Server und Clients mithilfe von Kotlin in vernetzten Systemen zu erstellen. Nun ist Ktor 1.0 erschienen. Mit ihm Gepäck sind Koroutinen für asynchrone Anwendungsfälle und eine eigene DSL.

Java Annotation Processing: Das könnte auch ein Computer erledigen

In den Tiefen der Java-Werkzeugkiste der unbekannten Tools liegt die Annotation Processing API. Sie hilft bei vielen Anforderungen auf elegante und flexible Art weiter. Dazu gehören zum Beispiel die Verwendung und Erzeugung von Immutables, von statischen Metamodellen und natürlich auch die Prüfung eigener Annotationen.

Performance auf der JVM: Überblick über CDS, AppCDS und AOT

Eine gute Frage in einem Einstellungsgespräch ist immer noch, warum denn Programme auf der JVM eine recht ordentliche Performance aufweisen, obwohl nur mit Bytecode und nicht mit Maschinencode gearbeitet wird. Wer diese Hürde mit Leichtigkeit genommen hat, dem werden in diesem Artikel weitere Möglichkeiten des JDK verraten, mit denen Oracle versucht, die Leistung der JVM zu verbessern.

Machine Learning für Java: Deeplearning4j landet bei der Eclipse Foundation

Machine Learning ist eines der Trendthemen schlechthin. Während viele ML-Projekte die Programmiersprache Python nutzen, ist eine Unterstützung für Java bislang eher rar gesät. Doch das könnte sich bald ändern: Das Projekt Deeplearning4j stellt weitreichende Deep-Learning-Funktionalitäten für Java zur Verfügung und hat das Potenzial, sich unter dem Dach der Eclipse Foundation zu einem Magneten für angegliederte ML-Libraries und Tools zu entwickeln. Chris Nicholson, CEO von Skymind und Schöpfer von Deeplearning4j, stellt in diesem Artikel das Deeplearning4j-Ökosystem vor.