By Java Magazine Editor Andrew Binstock
Running Fast and Light Without All the Baggage
The emergence of microservices as the new architecture for applications has led to a fundamental change in the way we use frameworks. Previously, frameworks offered an omnibus scaffolding that handled most needs of monolithic applications. But as microservices have gained traction, applications now consist of orchestrated containers, each performing a single service. As such, those services require far less scaffolding—favoring instead lightweight frameworks that provide basic connectivity and then get out of the way.
In this issue, we examine three leading frameworks for microservices: Javalin (page 13), which is a very lightweight, unopinionated Kotlin-based web framework; Micronaut (page 23), which handles all feature injection at compile time and so loads extremely fast; and Helidon (page 34), which is a cloud native framework that generates a pure Java SE JAR ile that can be run as a service or a complete app. Helidon comes in two flavors: a minimal framework and a slightly heftier one for developers wanting additional services.
In addition to these articles, we continue with the final installment of our series on Java design patterns—this time covering the Proxy pattern (page 53), with practical examples and coverage of the rarely discussed dynamic proxy feature in a little-used corner of the Java language. Ben Evans examines a common optimization in VMs, loop unrolling (page 62), and explains the subtle reason why loops on the JVM will execute more slowly if they’re indexed by longs rather than ints.
And of course we have our quiz—somewhat expanded for this issue (page 81)—and our book review (page 7).