3 ms·
I'm a big fan of JDK 21 with Helidon 4/Nima on the backend - most use cases covered, but very tight and light in dependencies and pretty much completely platfor
by Two4 3y ago
I'm a big fan of JDK 21 with Helidon 4/Nima on the backend - most use cases covered, but very tight and light in dependencies and pretty much completely platform independent. You also have the option of compiling it AoT with GraalVM for a very quick-loading and low-memory near-native binary. Virtual threads mean much easier scaling, as you can do thread-per-request with a synchronous API. (Although I'm not sure if Graal supports java 21 yet, I'll have to check)
- Alifatisk 3y agoI’ve wanted to give GraalVM and its native-images a try but haven’t yet. Do you have any experience with it?
- Two4 3y agoYes - I once wrote an AWS lambda that was having issues with cold boot times, so I compiled it to a binary and bada bing bada boom, boot went from 2 seconds to about 200ms. It's not a silver bullet though - some reflection features aren't supported, and reflection in general requires a bit of config at compile time to make sure all the required classes are loaded. This can make some plugin architectures unworkable, although I maintain that if you need reflection for pluggable code, you're probably doing it wrong.