Aunque sea de algunos años, sigue siendo interesante. https://www.youtube.com/watch?v=wgQBz2Ldhvk
YouTube
Java Performance Puzzlers by Douglas Hawkins
Everyone worries about performance but few of us have the time to truly understand it. Fortunately, our modern JVMs and CPUs are capable of some amazing performance tricks, but those same tricks only make reasoning about performance that much harder.
In…
In…
A new chapter for Kotlin and good opportunities for Kotlin developers
Today we are excited to release Kotlin 2.0 with a stable K2 compiler, which is multiplatform from the ground up, understands your code better, and compiles it twice as fast.
https://blog.jetbrains.com/kotlin/2024/05/celebrating-kotlin-2-0-fast-smart-and-multiplatform/
Today we are excited to release Kotlin 2.0 with a stable K2 compiler, which is multiplatform from the ground up, understands your code better, and compiles it twice as fast.
https://blog.jetbrains.com/kotlin/2024/05/celebrating-kotlin-2-0-fast-smart-and-multiplatform/
The JetBrains Blog
Celebrating Kotlin 2.0: Fast, Smart, and Multiplatform - The JetBrains Blog
We're excited to release Kotlin 2.0 with a stable K2 compiler, which is fast, smart, and multiplatform.
Gradle is very powerful tool but it comes with a price in the learning curve. Declarative gradle was introduced a year ago or so (https://blog.gradle.org/declarative-gradle). Last week the Gradle CTO chat a bit about the state of the art and the future of Declarative Gradle (https://youtu.be/xZRR71VtmGc?t=752)
blog.gradle.org
Declarative Gradle
NOTE: Declarative Gradle is an experimental project undergoing active development,
with frequent changes occurring during implementation.
To learn more about the current status,
visit the Declarative Grad...
with frequent changes occurring during implementation.
To learn more about the current status,
visit the Declarative Grad...
We continue with Kafka today; New Relic is an observability vendor, and the article highlights the need for observability. Besides that, the article provides a good example of common Kafka issues depending on your producer/consumer patterns, which I found really interesting.
https://newrelic.com/blog/how-to-relic/tuning-apache-kafka-consumers
https://newrelic.com/blog/how-to-relic/tuning-apache-kafka-consumers
New Relic
Tuning Apache Kafka Consumers to maximize throughput and reduce costs
Learn how to optimize Apache Kafka Consumers for better performance and cost efficiency. Discover key configurations, metrics, and practical tuning strategies.
The Gradle team is excited to announce Gradle 8.8.
Gradle now supports Java 22.
This release introduces a preview feature to configure the Gradle daemon JVM using toolchains and improved IDE performance with large projects.
https://docs.gradle.org/8.8/release-notes.html
Gradle now supports Java 22.
This release introduces a preview feature to configure the Gradle daemon JVM using toolchains and improved IDE performance with large projects.
https://docs.gradle.org/8.8/release-notes.html
Java 22 has been around since March! This article doesn't bring any news but I likes the way they sumarized the release content (see picture) and how they explained the lifecycle of JEPs
https://www.unlogged.io/post/everything-you-need-to-know-about-java-22?ref=dailydev
https://www.unlogged.io/post/everything-you-need-to-know-about-java-22?ref=dailydev
Interesting post regarding JDK git workflow
https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008834.html
In June and December, we fork
the main line into a stabilization repository [1]. Changes are backported
from the jdk repository into the stabilization repository, typically by the
Committer who contributed the change [2]. The stabilization repository is
archived when the release is delivered.
We inherited the convention of forking repositories from Mercurial, which
originally had weak support for branches.
https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008834.html
Great example of Observability, adding crystal clear vision to unknown unknowns.
https://foojay.io/today/who-instruments-the-instrumenters/
https://foojay.io/today/who-instruments-the-instrumenters/
foojay
Who instruments the instrumenters?
Have you ever wondered how libraries like Spring and Mockito modify your code at run-time to implement all their advanced features?
Java, Kotlin and the JVM
Interesting post regarding JDK git workflow In June and December, we fork the main line into a stabilization repository [1]. Changes are backported from the jdk repository into the stabilization repository, typically by the Committer who contributed the…
Following up with this topic: JDK 23 was sealed at 6th of June, for the first time, it is a branch instead of a fork https://github.com/openjdk/jdk/tree/jdk23
GitHub
GitHub - openjdk/jdk at jdk23
JDK main-line development https://openjdk.org/projects/jdk - GitHub - openjdk/jdk at jdk23
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.
From the point of view of software maintenance this is also an interesting topic. Code is a liability, the String Template API seems to be good enough but the implementation has to be maintained for decades and it wasn't worth its value.
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-March/004010.html
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 gone through two rounds of preview, and have received some feedback.
From the point of view of software maintenance this is also an interesting topic. Code is a liability, the String Template API seems to be good enough but the implementation has to be maintained for decades and it wasn't worth its value.
Specifically, the role of processors is “outsized” to the value they offer, and, after further exploration, we now believe it is possible to achieve the goals of the feature without an explicit “processor” abstraction at all! This is very positive development
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-March/004010.html
Essential Information on Virtual Threads · SAP/SapMachine Wiki · GitHub
https://github.com/SAP/SapMachine/wiki/Essential-Information-on-Virtual-Threads
https://github.com/SAP/SapMachine/wiki/Essential-Information-on-Virtual-Threads
GitHub
Essential Information on Virtual Threads
An OpenJDK release maintained and supported by SAP - SAP/SapMachine
Testing asynchronous systems is hard. Not only does it require handling threads, timeouts and concurrency issues, but the intent of the test code can be obscured by all these details. Awaitility is a DSL that allows you to express expectations of an asynchronous system in a concise and easy to read manner
.
http://www.awaitility.org/
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