Im ersten Teil kam das Hauptthema von Java 9, die Modularisierung (Codewort Jigsaw), in Grundzügen zur Sprache. Wir wollen nun einen erweiterten Blick auf dieses Feature von Java 9 nehmen, indem wir Auswirkungen der Modularisierung betrachten. Eine wichtige stellt die Möglichkeit dar, wesentlich schlankere Anwendungspakete schnüren zu können. Aber ...
Ab Januar 2019 führt Oracle ein Abo-Modell, genannt Subscription, für produktiv genutzte Java-Anwendungen ein. Die Einführung ist rückwirkend, somit sind auch Java Anwendungen, die Java 8 benutzen betroffen. Das Ende von kostenlosem Java? Die Verwendung von Java für Entwicklung, Test, POC und Demo bleibt weiterhin kostenlos; auch wird Oracle sich w...
In der Entwicklungsphase eines jeden Software-Projektes ist eine frühe Erkennung von Fehlern unabdingbar. Bei großen Projekten mit vielen Abhängigkeiten kann es mühsam und langwierig sein, das gesamte Projekt auf dem lokalen Rechner zu kompilieren und zu testen. Abhilfe hierbei können Continuous Integration (CI) und Delivery (CD) Plattformen w...
Dass spezifische Funktionalitäten in unterschiedliche Services gebündelt sind, ist ja nichts Neues. Und dass die Funktionalitäten eines Services oft in einem Interface definiert und dann in der einer anderen Klasse implementiert werden, auch nicht. Doch mit dem in Java 9 dazugekommenem Modul-System können nun auch einzelne Services modularisiert we...
Seit Java 9 lassen sich mehrere Pakete und die darin enthaltenen Klassen zu Modulen zusammenfassen. Dies ermöglicht eine bessere Kontrolle, auf welche Klassen von außerhalb des Modules zugegriffen werden darf. Ein Modul wird durch einen sogenannten Modul-Deskriptor definiert, der sich auf oberster Paketebene im Modul befindet und per Definition „mo...
Java 9 bringt eine neue Exception Klasse mit. Ist das Grund zur Freude? Ich finde ja! Mit diesem Blogpost möchte ich euch erklären, wie wir mit der neu dazugekommenen Ausnahme InaccessibleObjectException umgehen. Zu allererst ein wenig Theorie. Wie man der offiziellen API entnehmen kann, gibt es die InaccessibleObjectException K...