JVM summit, virtual threads, stacks applicatives, licences, déterminisme et LLMs, quantification, deux outils de l’épisode et bien plus encore.
Enregistré le 13 septembre 2024
Téléchargement de l’épisode LesCastCodeurs-Episode–315.mp3
News
Langages
Netflix utilise énormément Java et a rencontré un problème avec les Virtual Thread dans Java 21. Les ingénieurs de Netflix analysent ce problème dans cet article : https://netflixtechblog.com/java–21-virtual-threads-dude-wheres-my-lock–3052540e231d
- Les threads virtuels peuvent améliorer les performances mais posent des défis.
- Un problème de locking a été identifié : les threads virtuels se bloquent mutuellement.
- Cela entraîne des performances dégradées et des instabilités.
- Netflix travaille à résoudre ces problèmes et à tirer pleinement parti des threads virtuels.
Une syntax pour indiquer qu’un type est nullable ou null-restricted arriverait dans Java https://bugs.openjdk.org/browse/JDK–8303099
- Foo! interdirait null
- Foo? indiquerait que null est accepté
- Foo?[]! serait un tableau non-null de valeur nullable
- Il y a aussi des idées de syntaxe pour initialiser les tableaux null-restricted
- JEP: https://openjdk.org/jeps/8303099
Les vidéos du JVM Language Summit 2024 sont en ligne https://www.youtube.com/watch?v=OOPSU4LnKg0&list=PLX8CzqL3ArzUEYnTa6KYORRbP3nhsK0L1
- Project Leyden Update
- Project Babylon - Code Reflection
- Valhalla - Where Are We?
- An Opinionated Overview on Static Analysis for Java Rethinking Java String Concatenation
- Code Reflection in Action - Translating Java to SPIR-V Java in 2024
- Type Specialization of Java Generics - What If Casts Have Teeth ? (avec notre Rémi Forax national !)
- aussi tip or tail pour tout l’ecosysteme
- quelques liens sur Babylon: Code reflection pour exprimer des langages etranger (SQL) dans Java: https://openjdk.org/projects/babylon/ et sont example en emulation de LINQ https://openjdk.org/projects/babylon/articles/linq
Librairies
Micronaut sort sa version 4.6 https://micronaut.io/2024/08/26/micronaut-framework–4–6–0-released/
- essentiellement une grosse mise à jour de tonnes de modules avec les dernières versions des dépendances
Microprofile 7 faire quelques changements et evolution incompatibles https://microprofile.io/2024/08/22/microprofile–7–0-release/#general
- enleve Metrics et remplace avec Telemetry (metrics, log et tracing)
- Metrics reste une spec mais standalone
- Microprofile 7 depende de Jakarta Core profile et ne le package plus
- Microprofile OpenAPI 4 et Telemetry 2 amenent des changements incompatibles
Quarkus 3.14 avec LetsEncrypt et des serialiseurs JAckson sans reflection https://quarkus.io/blog/quarkus–3–14–1-released/
- Hibernate ORM 6.6
- Serialisateurs JAckson sans reflection
- installer des certificats letsencrypt simplement (notamment avec la ligne de commande qui aide
- sympa notamment avec ngrok pour faire un tunnel vers son localhost
- retropedalage sur @QuarkusTestResource<