Java Core

Ordnung ins Chaos bringen: Architekturpatterns in Modulithen – Teil 1

„Wir haben diesen Legacy-Monolithen, den wollen wir in Microservices aufbrechen“. So einen Satz hört man als Berater in der Softwarebranche oft. Auf die Frage „Warum“ erhält man oft die Antwort „Modularisierung“. Denn es herrscht die weitverbreitete Ansicht, dass Monolithen grundsätzlich aus schlecht strukturiertem Legacy-Code bestehen und sich Monolithen und Modularisierung gegenseitig ausschließen. Dass dem nicht so ist, zeigt die Architekturform der Modulithen. In dieser Artikelserie wird sie beleuchtet und beschrieben, mit welchen Patterns ein Modulith gelingen kann und welche Antipatterns man dabei vermeiden sollte.

Bastelstunde: Deserialisierungs-Exploits – Deserialisierungsschwachstellen im Java-Programmcode

Im diesem Teil unserer Artikelserie zu Deserialisierungsschwachstellen in Java wollen wir selbst einen Exploit Code schreiben. Wir sehen uns an, wie anhand der BeanShell Gadget Chain [1], [2] eine Deserialisierungsschwachstelle unter realen Bedingungen ausgenutzt werden kann. Hiermit sollten wir dann in der Lage sein, eigene Befehle im Betriebssystem auszuführen.

Kurze Pause: Shenandoah und ZGC

Mit Shenandoah und ZGC gibt es im OpenJDK erstmals zwei Low-Pause Garbage Collectors, die die berüchtigten Pausenzeiten von Java-Anwendungen auf Millisekunden beschränken. Wir stellen die Arbeitsweise der beiden Collectors vor, messen mit Hilfe einer praxisnahen Benchmark, ob die Collectors halten, was sie versprechen, und diskutieren, wie sich Shenandoah und ZGC voneinander abgrenzen.

Unter der Haube von Amazon Corretto: So funktioniert die Java-Distribution von Amazon

Sowohl bei Kunden von Amazon Web Services (AWS) als auch innerhalb von Amazon findet sich eine große Community von Java-Entwicklern. Amazon unterstützt diese Community zukünftig mit Amazon Corretto, einer kostenlosen, plattformübergreifenden Distribution von OpenJDK. Dieser Artikel gibt einen Einblick in die Vorteile und die Details von Amazon Corretto, das derzeit für Java 8 und Java 11 zur Verfügung steht.