Guillaume, Arnaud et Emmanuel descendent dans les profondeurs des garbage collectors, Java 14, GraalVM 19.3 (Java is back!) et bien sûr pleins d'autres choses !

Enregistré le 5 décembre 2019

Téléchargement de l'épisode LesCastCodeurs-Episode-221.mp3

News

Langages

GraalVM 19.3 with JDK 11 Support.

GraalVM se met aussi à WebAssembly

Microsoft ready to contribute to OpenJDK

Trois JEPs prévus pour être intégrés à Java 14 :

Stephen Colebourne râle sur le nouveau switch

Tricher le GC de Go avec du poids mort

  • le GC se declence tous les 2x de heap
  • si pas d'alloc, ca veut dire qu'il vide jusqu'à 1x amis declenche des GC super fréquement
  • donc en allouant (virtuellement) in tableau de 10Go, on reduit de temps entre GC
  • le cout d'un concurrent mark sweep c'est de marquer les objets vivants (les morts ont peut de cout)
  • et les co-routines pendant une phase de mark-sweep doivent faire un travaille de mark ce qui les ralenties
  • donc moins de GC veut dire plus rapide
  • c'est le cout a payer pour un GC avec 1 ou peu de parametres.

Shenandoah: eliminer les mote de pointeurs en avant

  • Shenandoah bouge les objets sans mettre a jour ses pointeurs
    • juste garde une copie dans l'objet meme de ses references
    • puis mets a jour les references de maniere concurrente en parallele de l'appli
    • et enfin peut virer les objets.
  • par default Shenandoah demande un word supplémentaire par objet
    • si le word == l'objet, on est normal, sinon il pointe vers la nouvelle copie de l'objet
    • 5 à 10% de mémoire suppl´mentaire en pratique
  • peut reutiliser le mark word mais comparaison chere surtout a faire a chaque read-barrier
    • uniquement pendnt un GC et sur les objkets dans des colelctions set => peu frequents
    • dans les tests le code de décoding supplémentaire est pas visible dans les benchmarks
  • mais ils ont eliminé les read barrier en load-reference-barrier qui sont moins frequentes en nombre d'objet
  • meilleure densité mémoire, moins de pression sur le CPU cache, plus de throughput

Librairies

Micronaut en Trial dans le tech radar de ThoughtWorks et Quarkus en assess

Middleware

Le Camel a trois bosses

  • un ensemble de projets (Camel, Camel K, Camel extensions pour Quarkus)
  • nouveau site web
  • Java 11 support et abandon de Java 8 durant 2020
  • Camel core modularisé et moins de classes à démarrer, reduire la reflection
  • support de GraalVM via Quarkus
  • DSL typesafe de definition de endpoint
  • Coeur reactif
  • Integration avec microprofile
  • nouveaux composants ( - graphql - 4 more AWS components - Debezium components)

Infrastructure

Sonatype racheté

Annonce par Sonatype du rachat

  • par une boite de private equity...
  • il est temps de backuper central

Docker à la découpe. Docker Enterprise racheté par Mirantis

Les fondateurs de Google tournent la page

Cloud

AppEngine Java 11 Runtime FAQ.

Pas bien les Fat JAR dans les images de conteneur

Helm 3 est sorti

Web

.org est vendu, sauvons les .org ( Ils ont réussit à fâcher Kohsuke ).

Data

R2DBC 0.8

Exposer les entités persistées dans vos API ou pas

  • Plus simple, une seul objet
  • plus compliquer des details d'implementations (nouveau champ d'un cote ou de l'autre)
  • accumulation d'annotations pour abstraire ses mod¡eles (JSON, JPA)
  • associations géré en proxy dans JPA et en id ou null dans API
  • V2 de l'API
  • aggregation des données dans l'API

Outillage

La matrice arrive dans Jenkins Pipelines.

Jenkins Health Advisor par CloudBees.

L'experience zsh de Julien Ponge

Cédric explose le mythe du scripting vs déclaratif dans Gradle

Comment éviter l'enfer des dépendances avec Gradle 6

Méthodologies

L'humain est résiliant aux chocs de la vie mais pas tant que cela `au chomage de longue durée

  • etude
  • Plus on est dans un pays développé, plus on est heureux
  • on est plus heureux maintenant qu'il y a quelques années (croissance)
  • plus on est riche, plus on est heureux

Loi, société et organisation

Save your code on Software Heritage Archive.

Conférences

Nous contacter

Soutenez Les Cast Codeurs sur Patreon

Faire un crowdcast ou une crowdquestion

Contactez-nous via twitter

sur le groupe Google

ou sur le site web