Java

Record-Types, FinTech-Trends 2021 und KI-Assistenten – Unsere Top-Themen der Woche

Gute Vorsätze für das neue Jahr umfassen ja normalerweise mehr Aktivität. Aber warum selbst machen, wenn man KI-Assistenten hat? Was bleibt ist ggf. mehr Zeit für Kreativität und Produktivität! Oder vielleicht mal mit etwas Neuem beschäftigen? Etwa mit Record-Types, die es nun in Java gibt? Wer stattdessen einfach gerne in Erinnerungen schwelgt, der wird in unserem Jahresrückblick fündig. All das und mehr gab es letzte Woche auf JAXenter zu entdecken!

Record-Type: Value Objects werden endlich Java-native

Value Objects sind einer der fundamentalen Building Blocks in Domain-driven Design. Sie in Java zu erstellen, erforderte bisher allerdings einigen Boilerplate-Code. Das ändert sich mit Java 16: Es wird ein neues Sprachkonstrukt eingeführt – und zwar die Records. Und diese erfüllen alle technischen Anforderungen zur einfachen Umsetzung von Value Objects.

Java Magazin 2.21 erschienen: Git me baby, one more time

Es erscheint beinahe unglaublich, aber es ist tatsächlich bereits 22 Jahre her, seit Britney Spears mit ihrem Debütsong „… Baby one more Time“ die Charts stürmte. Im gleichen Jahr wurde übrigens der Java Community Process (JCP) ins Leben gerufen. Rückblickend betrachtet haben diese beiden Ereignisse absolut nichts miteinander zu tun, außer dass sie die Karrieren des Popstars und der Programmiersprache nachhaltig prägen sollten. Umso schöner, dass die Fäden hier nun dennoch zusammenlaufen – wenn auch nur wegen der phonetischen Ähnlichkeit der Worte „did“ und „Git“ sowie dem unbedingten Willen, eine Duchess im Britney-Spears-Look auf das Cover zu zaubern. Manchmal muss das einfach reichen.

Serverless, PWAs, SQL und GraalVM – Unsere Top 10 der Artikel 2020

Das Jahr 2020 wollen wir nach Möglichkeit wohl alle schnell vergessen. Doch nicht alles war nur Corona und Lockdown! Wir hier auf JAXenter hatten das große Glück, viele tolle Artikel für unsere Leserinnen und Leser bereitstellen zu können. Welche davon am meisten gelesen wurden? Nun, dafür gibt es hier nun offiziell den Jahresrückblick in Form der Top 10 der meistgelesenen Artikel 2020. Viel Vergnügen beim Schmökern – und ein gutes sowie gesundes neues Jahr!

Inkrementelle Codegenerierung mit CobiGen: Brückenbauer in der Open-Source-Welt – Teil 3

Etablierte Referenzarchitekturen wie devonfw machen es möglich, ein hohes Maß an Standardisierung über verschiedene Softwareprojekte hinweg zu etablieren. Starke Vorgaben, wie beispielweise Namenskonventionen für Quellcodeartefakte, bieten darüber hinaus eine klare Sichtbarkeit der Architektur auf der Quellcodeebene. Sind solche Vorgaben für (agile) Entwickler durchzuhalten und führt Schichtenbildung nicht teilweise zu nervigem Boilerplate-Code?

Wer mit wem reden darf: Architekturpatterns in Modulithen – Teil 2

So manche Codebase macht nur auf den ersten Blick einen aufgeräumten Eindruck. Schön in Packages sortierter Code ohne Abhängigkeitsmanagement ist wie ein „aufgeräumtes“ Kinderzimmer, bei dem einem die Lawine entgegenkommt, wenn man es wagt, die Schranktür aufzumachen. Um zu verhindern, dass Abhängigkeitszyklen und wuchernde Queraufrufe den Code zu einem „Big Ball of Mud“ machen, gilt es, höllisch aufzupassen.

In dubio pro Dukeo: JavaFX in einer neuen Ära mit GraalVM

Gluon veröffentlichte im September 2020 JavaFX 15 [1]. Die perfekte Gelegenheit, darüber zu sprechen, warum JavaFX [2] auf Desktop und Mobilgeräten so relevant ist. Nachfolgend wird das Cross-Kompilieren von Java-Anwendungen mit JavaFX für die Benutzeroberfläche, vom Backend bis zum Frontend, betrachtet. Oberstes Ziel jeder neuen Version von JavaFX ist es, die Abwärtskompatibilität sicherzustellen und mehr Software- und Hardwaretreiber zu unterstützen. Dabei steht Plattformstabilität und deren Kompatibilität für Entwickler und Unternehmen im Vordergrund, die in ihren geschäftskritischen Anwendungen auf Java und JavaFX angewiesen sind. Die GraalVM in Verbindung mit JavaFX ermöglicht neue Wege der Codekompilierung vom Backend bis zum Frontend.

Schutzmechanismen gegen Java-Deserialisierungs-Exploits: Deserialisierungsschwachstellen im Java-Programmcode

In diesem Teil unserer Artikelserie zu Deserialisierungsschwachstellen in Java sehen wir uns an, welche Schutzmechanismen existieren, um erste Maßnahmen vor dem Eintreffen eines geeigneten Patches zu treffen. Letztlich geht es um die Frage, wie man das Erstellen von Gadget Chains verhindern oder gleich ganz auf das Serialisierungs-API verzichten kann.

Was geht, GraalVM? Eine ausführliche Einführung in die GraalVM – Teil 1

Nun ist sie also draußen, die neue Java Virtual Machine (JVM) mit dem Namen GraalVM, über die einer von uns (Stephan) schon im vergangenen Frühjahr gebloggt hat [1]. Seit damals hat sich viel getan, die GraalVM hat die Java-Landschaft deutlich verändert. Twitter verwendet sie schon seit Jahren für seine Scala Microservices [2]. Die GraalVM beginnt jetzt, auch in der etwas konservativeren Businesswelt Fuß zu fassen, insbesondere im Bereich der Cloud-nativen Anwendungen. Grund genug also, sich die GraalVM noch einmal genau und ausführlich anzusehen und die Frage zu beantworten, ob es sich lohnt, die gute alte JVM durch etwas Neues zu ersetzen.