Contents
CORE JAVA
▪️Java Has Been Connecting Systems and Communities for 30 Years
▪️Fixing the Billion-Dollar Mistake
▪️Java 24: A Story of Code, Conflict, and Conquer
▪️More Action, More Overview
SERVERSIDE JAVA
▪️Navigating the Waves of Concurrency: Exploring Jakarta Concurrency
API & FRAMEWORKS
▪️The Role of Quarkus in the Modern Java Ecosystem
▪️The Simplest Way to Build Resilient Applications
AI & ML
▪️Building Local LLM AI-Powered Applications with Quarkus, Ollama, and Testcontainers
▪️Evaluating RAG Pipelines with the RAG Triad
▪️Building AI-Driven Applications With Spring AI
DEVOPS
▪️How to Speed up Maven Builds
IDE & TOOLS
▪️A New Generation’s Chance to Shape the Future: Building the Next Great Java IDE in Open Source
▪️Breakpoints – The Lifeline of Debugging – An Eclipse Features Guide
▪️Observability Landscape in Java
▪️Code Wizardry: Casting Spells to Fix Bugs
▪️Japo: The Ultimate Search Engine for Java Annotations
▪️Unleashing the Power of Maven Archetypes
▪️Launching a Java Debugger in Eclipse – A Myriad of Options
PROJECT MANAGEMENT
▪️Agile, Scrum, Kanban and the Lies We Tell Ourselves About Creating Value
WEB-DEVELOPMENT
▪️Integrating Micro Frontends into Existing Applications – Lessons Learned
SECURITY
▪️From Breaches to Blackouts: The Human Consequences of Software Supply Chain Attacks
▪️Mastering API Security in Java: OWASP Best Practices
JVM-LANGUAGES
▪️Kotlin Multiplatform’s Cross-Platform Brilliance at Norway’s Nearly 400-Year-Old National Postal Service
▪️The Rise of JVM Languages: Kotlin, Scala, Groovy, and More
TESTING & QUALITY
▪️ A 10X Approach to Quality Assurance
Details
Page count: 199
Authors: Marián Varga, Richard Gross, Lutske de Leeuw, Merlin Bögershausen, Gautham Krishnan, Martin Stefanko, Giselle van Dongen, Jonathan Vila López, Atamel Mete, Timo Salm, Sergei Chernov, Thomas Froment, Manoj Nalledathu Palat, Vipin Menon, Andres Sacco, Mohamed Ashraf Bayor, Giovanni van der Schelde, Marin Niehues, Christian Siebmanns, Steve Poole, Muaath Bin Ali, Anshika Koul, Mihaela Gheorghe-Roman,
Editorial
From Java to the JVM: Building Systems That Last
Modern software is no longer built as isolated applications. It lives within complex systems that must scale, evolve, remain secure, and deliver value over long periods of time. This issue of JAVAPRO focuses on exactly that reality: how to engineer modern software systems on the JVM across the full lifecycle: from design and development to operation, security, and organizational impact.
Java at 30: A Platform That Keeps Evolving
This year, Java celebrates its 30th anniversary. This milestone is not about nostalgia, but about relevance. Together with the JVM, Java has continuously adapted to new demands, evolving from a language for monolithic applications into the backbone of highly concurrent, distributed, and resilient systems. Advances such as Virtual Threads, Structured Concurrency, and modern Jakarta standards demonstrate how the platform simplifies scalability and concurrency while preserving the stability enterprises rely on.
The JVM as a Multi-Language Ecosystem
Java is no longer the JVM’s only expression. Today’s JVM is a mature, multi-language platform supporting a wide range of paradigms. Kotlin, Scala, Groovy, and other JVM languages expand expressiveness and productivity while remaining interoperable with existing Java systems. Real-world stories such as the adoption of Kotlin Multiplatform to consolidate business logic in large-scale logistics show how JVM technologies help organizations reduce duplication, manage complexity, and establish a single source of truth across platforms.
Architecture and Scalability as System Concerns
Modern systems are shaped by architectural choices that go far beyond individual components. Concurrency models, microservices, and micro frontends influence build pipelines, deployment strategies, runtime behavior, and team collaboration. Several articles in this issue illustrate that scalability is not only a technical challenge, but also an organizational one, requiring thoughtful trade-offs and architectures that can evolve over time.
Productivity, Debugging, and Quality by Design
Sustainable systems depend on developer productivity and built-in quality. Standardized project setups, build automation, and advanced debugging techniques are not optional optimizations – they are foundations for long-term maintainability. A data-driven approach to testing and quality assurance reinforces a key insight: quality is not achieved by running more tests, but by running the right tests at the right time, evaluated by their reliability, usefulness, and feedback value.
Security and Responsibility in Modern Systems
Security is a defining characteristic of modern software systems. APIs expose critical functionality and must be protected accordingly. Beyond that, software supply chain attacks highlight a broader responsibility: most systems consist largely of third-party components, and vulnerabilities can have consequences far beyond financial loss. Disruptions to healthcare, infrastructure, or critical services show that software engineering increasingly has real-world, human impact.
Beyond Frameworks and Rituals
Technology alone does not create successful systems. Methodologies such as Agile, Scrum, Kanban, or linear approaches are great tools – not guarantees. Sustainable value emerges where technical discipline, organizational context, leadership, and a shared understanding of outcomes come together. Modern software systems are built not only with better tools, but with better judgment.
Building for the Long Term on the JVM
This issue presents the JVM as what it is today: a robust, adaptable, and future-ready platform for building modern software systems. By combining innovation with stability, the JVM enables teams to tackle complexity responsibly and with confidence.
We hope this issue provides valuable insights and inspiration for your work on modern software systems on the JVM.

