Building Class Data Sharing Archives with Apache Maven
A guide to automating Class Data Sharing (CDS) archive creation with Apache Maven to improve Java application startup times and reduce memory footprint.
Morling.dev is the personal blog of Michael Morling, a software engineer and architect with deep expertise in Java, Spring, JVM internals, architecture, performance, and developer tooling. His writing focuses on practical and detailed explanations of topics such as Spring framework internals, microservices design, JVM garbage collection, performance tuning, clean architecture, Gradle builds, and language features that matter in real projects. Michael often breaks down subtle behaviors of the JVM and Spring ecosystem, helping developers understand why things work the way they do and how to improve reliability and efficiency in production systems.
91 articles from this blog
A guide to automating Class Data Sharing (CDS) archive creation with Apache Maven to improve Java application startup times and reduce memory footprint.
Explores versatile uses of Single Message Transformations (SMTs) in Kafka Connect for data format conversion, filtering, routing, and more.
Explains the Emitter Parameter Pattern as an alternative to return values for designing flexible Service Provider Interfaces (SPIs) in libraries and frameworks.
Explores implementing plug-in architectures in Java using the Java Platform Module System and the Layrry launcher for strong isolation.
Introduces Layrry, an open-source launcher and API for assembling and running modularized Java applications using Maven coordinates and module layers.
A technical guide on using git filter-branch to resolve complex merge conflicts and backport documentation changes in a software project.
Explains how to use custom JDK Flight Recorder events to monitor REST API performance, including request counts and durations, with Java 14+ streaming.
Explores how to use Bean Validation annotations to enforce invariants on Java 14+ record types, ensuring data integrity for immutable objects like DTOs.
Explains how to use Java 13 text blocks in test code while keeping main project code compatible with older Java versions like Java 8.
A guide to automating Hugo static site deployment to GitHub Pages using GitHub Actions, including SSH key setup and workflow configuration.
Author announces a new personal blog built with Hugo for open source, project updates, and software engineering topics.