#Java now lets you match inside records, compare primitives, & run full apps without touching #Maven. @ronveen takes you inside a version where syntax, tooling & mindset finally align.
Start here: https://javapro.io/2025/06/17/modern-java/
#Java now lets you match inside records, compare primitives, & run full apps without touching #Maven. @ronveen takes you inside a version where syntax, tooling & mindset finally align.
Start here: https://javapro.io/2025/06/17/modern-java/
Don’t start from scratch.
Quarkus supports your Spring annotations — @Controller, @Service, @Repository.
Migrate your app module-by-module and go cloud-native without breaking everything.
#SpringBoot #Quarkus #DeveloperExperience #JavaMigration #ModernJava
Spring muscle memory? Keep it.
Quarkus supports your existing annotations like @RestController, @Autowired, @Repository — just faster. Migrate incrementally and ship apps with a native edge.
#SpringBoot #Java #Quarkus #DeveloperExperience #ModernJava #CloudNative
Quarkus speaks fluent Spring—reuse your @RestController, @Autowired, and JpaRepository code with Spring compatibility extensions. 👩💻
Same familiar APIs. Blazing-fast, cloud-native runtime.
#Java #SpringBoot #Quarkus #CloudNative #ModernJava #SpringCompatibility
#Java now streams with memory, discards threads instead of pooling & runs without public static void main. #VirtualThreads, Gatherers & no-boilerplate coding—@ronveen breaks down the quiet revolution
Why @Annotations Will Eventually Burn You.
Preach annotation voodoo or embrace explicit method calls? Too many still cling to @PreAuthorize, entrusting their fate to framework black magic. But such blind faith is brittle. One innocent Spring Boot update, and suddenly your security vanishes unless you summon an obscure @Enable... incantation.
Prefer the custom preauthorize() method: it’s concrete, predictable, and the compiler screams when something breaks as it should. Just like how constructor injection finally defeated the field-injection cult, it’s time to retire annotation worship elsewhere too.
Consider @JsonProperty("fieldName"): sure, the object mapper might infer names correctly without it, until one day it doesn’t, because the naming strategy changes behind your back. It’s happened. It will happen again. That’s the price of depending on invisible magic. Unreadable, unpredictable, unmaintainable. Same applies to reflection.
Frameworks and their “best practices” are relics of the monolith age. Java has evolved: threads, HTTP services, logging,… all can now be built functionally, fluently, and natively. It’s not Java vs Kotlin or some trendy syntax candy. Languages, especially those that compile, already give you more than enough. The bottleneck isn’t the tool, it’s the one holding it.
#Java #SpringBoot #CleanCode #SoftwareEngineering #CodeQuality #Programming #ModernJava #DeveloperExperience #DevMindset #NoMoreMagic #ReadableCode #ExplicitOverImplicit #SayNoToAnnotations #SeparationOfConcerns #FunctionalProgramming
1995: #Java is slow.
2025: Java is almost too fast to comprehend.
Join @javacoding on a #Performance journey through 30 years of #JVM evolution.
How did Java get this fast? Find out here:
https://javapro.io/2025/04/07/hitchhikers-guide-to-java-performance/
Java Is Becoming a Monster (And I Love It)
I used to think Java was done. Stale. Verbose. A relic.
But now? It mutated. It spawns 5000 virtual threads like it’s nothing.
I just built a REST service:
✅ Runs on virtual threads
✅ Functional pipelines
✅ Only a few MB RAM
✅ No thread-pools
✅ No leaks
✅ Pure JVM
This isn't Java 8 anymore.
✨ No Groovy. No Kotlin. No detours.
Java is now useful and gets Beautiful.
And then there’s GraalVM:
If you skip reflection and runtime init, you get:
⚡ Native executables
⚡ Instant startup
⚡ Tiny memory
⚡ No runtime surprises
Game. Changed.
But OSS frameworks?
Still look frozen in 2015.
Heavy, reflective, runtime-hacked monsters.
So I built my own tools:
🔥 TypeMap
→ Zero-reflection json/xlm reader & type converter
→ GraalVM native
→ Fast. Simple. Functional.
https://github.com/YunaBraska/type-map
⚔️ Nano
→ Anti-framework
→ Static main, no DI magic
→ Pure, clean design
https://github.com/NanoNative/nano
🧪 Nano example app
➡️ One single static main file
https://github.com/YunaBraska/nano-graalvm-example
🛠 API-Doc-Crafter
➡️ Native CLI doc tool
https://github.com/YunaBraska/api-doc-crafter
🧭 My Java Functional Guidelines
https://devabyss.hashnode.dev/java-functional-guidelines
Java isn't just catching up.
It’s setting the pace now.
The only question is:
Can frameworks and libraries keep up?
#Java #GraalVM #VirtualThreads #FunctionalProgramming #JVM #ModernJava #coding #Programming
TypeMap and TypeConverter for a dynamic, extendable, high-performance type conversion library that's native-ready for GraalVM. This robust Java utility provides type-safe retrieval and conversi...
🚀 Java 24 is here! 🦾
Modern Java has outpaced frameworks, waiting for them to catch up. With GraalVM, Virtual Threads, Native Compilation, and Functional Programming, do we even need frameworks anymore? 🤔
🔹 Java 24 optimizations I love:
✅ JEP 450 - Compact Object Headers for memory efficiency
✅ JEP 488 - Primitive types acting like objects
⚠️ No more 32-bit x86 support!
Java releases features only when they are ready. No half-baked experiments. Can’t wait for future operators like ?, ??, !., and ?..
Java is evolving fast. Are you keeping up? 🚀
#Java24 #GraalVM #VirtualThreads #ModernJava #FunctionalProgramming #programming