Java, Kotlin and the JVM
Really interesting post. A bit of context: After two previews and when everyone was assuming that String Templates could be part of the next LTS. String Template has been removed from JDK 23. Time to check in with where were are with String Templates. We’ve…
Follow up about String Templates https://youtu.be/c6L4Ef9owuQ
YouTube
What Happened to Java's String Templates? Inside Java Newscast #71
String templates proposed a way to readably and safely mix strings with run-time values and were a preview feature in JDKs 21 and 22. Then, to everybody's surprise, they were dropped in JDK 23! What where the reasons, what could a new proposal look like,…
Annotations processing changes in JDK 23
https://mail.openjdk.org/pipermail/jdk-dev/2024-May/009028.html
Up to JDK 22, this feature is enabled by default, which may have been reasonable when it was introduced in JDK 6 circa 2006, but from a current perspective, in the interest of making build output more robust against annotation processors being placed on the class path unintentionally, this is much less reasonable. Hence, starting with JDK 23, javac requires an additional command-line option to enable annotation processing.
https://mail.openjdk.org/pipermail/jdk-dev/2024-May/009028.html
Is Java heavyweight? will the container images be huge? Nope, Java is pretty good at producing decent size container images. The table below shows the container image sizes for a variety of popular open source project. Java does pretty well on these measures.
https://github.com/asaikali/modern-spring-on-kubernetes/blob/main/containerize%2Freadme.md
GitHub
modern-spring-on-kubernetes/containerize/readme.md at main · asaikali/modern-spring-on-kubernetes
Examples showing how use Spring on Kubernetes. Contribute to asaikali/modern-spring-on-kubernetes development by creating an account on GitHub.
https://docs.gradle.org/8.9/release-notes.html
This release improves error and warning reporting for variant issues during dependency resolution. It also exposes structural details of Java compilation errors for IDE integrators, making it easier to analyze and resolve issues.
Observability will help you identify unknown unknowns of your cluster
https://communityovercode.org/wp-content/uploads/2023/10/kafka-monitoring_what-matters_10072023_streaming-amrit-sarkar.pdf
https://communityovercode.org/wp-content/uploads/2023/10/kafka-monitoring_what-matters_10072023_streaming-amrit-sarkar.pdf
A virtual thread is not mapped 1:1 to a dedicated OS-level thread. Rather, we can think of it as a task that is scheduled to a fork-join thread pool. When a virtual thread enters a blocking call, like waiting for a Future, it relinquishes the OS thread it occupies and simply remains in memory until it is ready to resume. In the meantime, the OS thread can be reassigned to execute other VTs in the same fork-join pool
https://netflixtechblog.com/java-21-virtual-threads-dude-wheres-my-lock-3052540e231d
Medium
Java 21 Virtual Threads - Dude, Where’s My Lock?
Getting real with virtual threads
Declarative build is a great feature. In my experience, when using gradle, 90% of projects are build in the same way, with the same plugins.
Amper looks promising.
https://youtu.be/239XnWOLCW8
#kotlin #amper #build
Amper looks promising.
https://youtu.be/239XnWOLCW8
#kotlin #amper #build
YouTube
Simplifying Kotlin Build Configuration with Amper | Márton Braun
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Join us for a tour of Amper, a new build and project configuration tool from JetBrains, designed to make Kotlin project tooling approachable for everyone. With its declarative…
Join us for a tour of Amper, a new build and project configuration tool from JetBrains, designed to make Kotlin project tooling approachable for everyone. With its declarative…
Java 23 will support Primitive Types in Patterns, instanceof, and switch as a preview feature. Preview features are a way of gathering feedback about the future of the language. If you are using pattern matching on boxes types take the time to test this preview feature.
https://openjdk.org/jeps/455
#java #openjdk #jep
https://openjdk.org/jeps/455
#java #openjdk #jep
❤1
Support nullness markers on Java types to indicate that a type rejects or deliberately allows nulls. This is a preview language feature.
https://bugs.openjdk.org/browse/JDK-8303099
#java #openjdk #jep
🤨1