Category: Développement

Où passe le temps des développeurs ? Une étude de 40 ans révèle la réponse

2025-05-22

Pendant des décennies, les développeurs ont passé la majeure partie de leur temps à comprendre les systèmes. Des recherches montrent que cela reste consistamment élevé, environ 58 %, même en tenant compte du temps de navigation, de 1979 à 2018. L'article soutient que comprendre un système est fondamentalement un processus de prise de décision, et lire du code est simplement un moyen inefficace et non évolutif de collecter des informations. L'auteur introduit le concept de « développement malléable », préconisant la création d'outils personnalisés adaptés à des problèmes spécifiques, réduisant la dépendance à la lecture de code et, par conséquent, augmentant l'efficacité du développement. L'article conclut en recommandant Glamorous Toolkit, un environnement de développement malléable conçu pour faciliter la conversation « comment ne pas lire de code ».

Des paquets npm malveillants ciblent les développeurs React, Vue et Vite

2025-05-22
Des paquets npm malveillants ciblent les développeurs React, Vue et Vite

Des chercheurs en sécurité ont découvert des paquets npm malveillants ciblant les écosystèmes des développeurs JavaScript utilisant React, Vue et Vite. Ces paquets contenaient des charges utiles conçues pour exploser à des dates spécifiques en 2023, certaines sans date de fin, créant une menace persistante. L'attaquant a également téléchargé des paquets légitimes pour créer une façade de légitimité. Les développeurs affectés doivent immédiatement inspecter leurs systèmes pour s'assurer que les paquets malveillants ont été supprimés.

Defuddle : Un puissant nettoyeur de contenu de pages web

2025-05-22
Defuddle : Un puissant nettoyeur de contenu de pages web

Defuddle est un outil robuste pour nettoyer le contenu des pages web. Il supprime les éléments inutiles tels que les commentaires, les barres latérales, les en-têtes, les pieds de page et autres éléments encombrés, ne laissant que le contenu principal et générant des documents HTML propres et lisibles. Il gère divers formats, notamment les notes de bas de page, les équations mathématiques et les blocs de code, et extrait les métadonnées telles que les données schema.org. Defuddle fonctionne bien avec Obsidian Web Clipper et sert d'alternative à Mozilla Readability. Il est disponible en version navigateur et en version Node.js, cette dernière prenant en charge la conversion Markdown.

Développement nettoyage de pages web

Mise à jour des applications Windows 11 : Paint, l’outil Capture et le Bloc-notes bénéficient d’améliorations basées sur l’IA

2025-05-22
Mise à jour des applications Windows 11 : Paint, l’outil Capture et le Bloc-notes bénéficient d’améliorations basées sur l’IA

Microsoft déploie des mises à jour pour Paint, l’outil Capture et le Bloc-notes pour les utilisateurs Windows Insiders des canaux Canary et Dev sous Windows 11. Paint intègre désormais un générateur d’autocollants basé sur l’IA, un outil de sélection intelligente des objets et une nouvelle expérience de bienvenue ; l’outil Capture ajoute la capture d’écran parfaite et le sélecteur de couleurs ; et le Bloc-notes présente une fonction d’écriture basée sur l’IA pour la rédaction rapide de texte. La plupart de ces nouvelles fonctionnalités nécessitent un PC Copilot+ et une connexion à un compte Microsoft, et certaines nécessitent un abonnement Microsoft 365.

L'enfer des nombres à virgule flottante : pourquoi votre échantillonnage normal multivarié en R n'est pas reproductible

2025-05-22
L'enfer des nombres à virgule flottante : pourquoi votre échantillonnage normal multivarié en R n'est pas reproductible

Cet article détaille le processus de débogage suivi par l'auteure pour aider ses collègues à résoudre un problème de reproductibilité dans leur code R concernant l'échantillonnage de distribution normale multivariée. Le problème ne provenait pas d'erreurs dans R ou dans le package MASS, mais des bizarreries inhérentes à l'arithmétique à virgule flottante. Malgré l'utilisation de `set.seed()` pour contrôler le générateur de nombres aléatoires (RNG), le même code a produit des résultats différents sur des machines différentes en raison d'erreurs d'arrondi à virgule flottante dans `MASS::mvrnorm()`. Une analyse approfondie a révélé que `MASS::mvrnorm()`, utilisant la décomposition en valeurs propres, est très sensible aux petites perturbations d'entrée, pouvant inverser les signes des vecteurs propres et ainsi compromettre la reproductibilité. `mvtnorm::rmvnorm()`, utilisant la décomposition de Cholesky, s'avère plus robuste. L'auteure recommande d'utiliser `mvtnorm::rmvnorm()` avec `method = "chol"` pour améliorer la reproductibilité.

Développement

Programmation asynchrone en Rust : Maîtriser Pin et Pin-Project

2025-05-22

Cet article explore les subtilités de l’utilisation de Pin et de la crate pin-project dans la programmation asynchrone Rust. En commençant par les types associés et l’inférence de types dans Futures, l’auteur explique la nécessité de Pin pour résoudre les problèmes de sécurité mémoire liés aux emprunts mutables et aux mouvements dans l’implémentation de la machine à états des fonctions asynchrones. L’article détaille la fonction de Pin, son utilisation et comment pin-project simplifie le code, aboutissant à une machine à états asynchrone sûre et robuste. Il souligne également des considérations subtiles lors de l’utilisation de pin-project.

Développement

Glitch va fermer l'hébergement d'applications en juillet 2025

2025-05-22
Glitch va fermer l'hébergement d'applications en juillet 2025

Glitch, une plateforme populaire de développement d'applications, a annoncé qu'elle allait fermer son service d'hébergement d'applications le 8 juillet 2025. Cette décision est due aux coûts de maintenance élevés et à l'émergence de nombreuses plateformes alternatives supérieures ces dernières années. L'équipe de Glitch a déclaré qu'elle aiderait pleinement les utilisateurs à migrer leurs projets, en offrant des téléchargements de code, des redirections de sous-domaines et d'autres services pour garantir la sécurité des données et la continuité des projets. Bien qu'il s'agisse d'une décision difficile, elle représente une étape importante pour Glitch dans l'adaptation au paysage du développement en évolution.

rtcollector : Un agent d'observabilité léger et natif de RedisTimeSeries

2025-05-22
rtcollector : Un agent d'observabilité léger et natif de RedisTimeSeries

rtcollector est un agent léger basé sur des plugins pour collecter les métriques système et applicatives et les envoyer à RedisTimeSeries. Conçu pour l'écosystème Redis Stack, il offre une approche modulaire et configurable via YAML, permettant aux développeurs de collecter et de gérer facilement les métriques sans le gonflement des solutions plus importantes. Il prend actuellement en charge les systèmes Linux et macOS, avec l'intégration de Docker et un support planifié pour les sorties ClickHouse, MQTT et HTTP POST. rtcollector fournit un moyen flexible et efficace de surveiller vos systèmes.

Développement agent de surveillance

Poireau : Un débogueur d'allocation d'échantillonnage léger

2025-05-22
Poireau : Un débogueur d'allocation d'échantillonnage léger

Poireau est une bibliothèque légère pour le débogage des problèmes d'allocation de mémoire. Il génère un aperçu statistiquement représentatif de l'empreinte mémoire d'une application en interceptant une petite fraction des appels à malloc/calloc, etc., avec un impact minimal sur les performances. Poireau utilise Linux perf pour le traçage et un script externe pour l'analyse, identifiant les fuites de mémoire et autres problèmes. Ses avantages incluent une faible intrusivité, la facilité d'audit et l'adéquation à l'utilisation en production, même en fournissant des informations après un plantage.

Développement débogage mémoire

Débogage graphique de la courbe de Hilbert : un voyage de programmation visuelle

2025-05-22

L'auteur préconise un style de programmation minimaliste et utilise Lua et LÖVE pour déboguer graphiquement une fonction récursive de calcul de la courbe de Hilbert. Grâce à des améliorations itératives de la visualisation, notamment un journal texte, un journal de lecture, un dessin de surface et un dessin en « vue éclatée », l'auteur clarifie les complexités de l'algorithme. Le processus aboutit à une interface de débogage sophistiquée, offrant des informations précieuses et des modèles réutilisables pour les futures tâches de débogage.

Développement débogage graphique

Gestion de la forte consommation de mémoire lors de l'analyse de fichiers JSON volumineux avec Pydantic

2025-05-22
Gestion de la forte consommation de mémoire lors de l'analyse de fichiers JSON volumineux avec Pydantic

La forte consommation de mémoire est un problème courant lors de l'utilisation de Pydantic pour traiter de gros fichiers JSON. Cet article analyse les raisons de la forte consommation de mémoire avec le chargement JSON par défaut de Pydantic et propose deux solutions : utiliser la bibliothèque ijson pour l'analyse JSON incrémentale afin de réduire la consommation de mémoire pendant l'analyse, et convertir les modèles Pydantic en dataclasses avec `slots` pour réduire la consommation de mémoire de l'objet. Les résultats expérimentaux montrent que la combinaison de ces deux méthodes peut réduire la consommation de mémoire à un quart de la consommation initiale, résolvant ainsi efficacement le goulot d'étranglement de la mémoire lors du traitement de gros fichiers JSON.

Développement analyse JSON

Au-delà du tri : l’apprentissage profond pour la transparence indépendante de l’ordre

2025-05-22
Au-delà du tri : l’apprentissage profond pour la transparence indépendante de l’ordre

Le rendu traditionnel de la transparence repose sur le tri en fonction de la profondeur, ce qui peut entraîner des artefacts dans les scènes complexes. Cet article d’Eurographics 2025 explore la transparence indépendante de l’ordre (OIT), une technique qui permet de restituer avec précision les objets transparents sans tri en fonction de la profondeur. Il couvre les approches traditionnelles de l’OIT (exactes, approximatives et hybrides) et les méthodes d’apprentissage profond, en analysant leur portée, leurs performances et leur précision pour une transparence plus réaliste dans les jeux, les simulations et les effets visuels de films.

Développement rendu de transparence

Votre système d'autorisation est-il sur le point d'exploser ? Cinq signes avant-coureurs

2025-05-22
Votre système d'autorisation est-il sur le point d'exploser ? Cinq signes avant-coureurs

Cet article décrit cinq signes indiquant des problèmes potentiels avec votre système d'autorisation d'application : les permissions sont un simple dictionnaire ; la mise à jour des permissions de rôle nécessite des modifications à de nombreux endroits ; incapacité à répondre clairement à « que peut faire un administrateur ? » ; besoin futur de rôles et de permissions personnalisés ; projets de décomposition du monolithe en microservices. L'article suggère d'utiliser un modèle d'autorisation déclaratif, de centraliser la logique d'autorisation dans un seul service et de choisir une plateforme d'autorisation conçue pour l'évolutivité et les systèmes distribués, comme Oso, pour résoudre ces problèmes.

Développement

Critique des benchmarks trompeurs dans les méthodes formelles

2025-05-22
Critique des benchmarks trompeurs dans les méthodes formelles

Un article utilise des statistiques trompeuses lors de l'application de méthodes formelles pour vérifier le code d'un système d'exploitation. L'auteur critique la méthodologie erronée consistant à comparer simplement les « ratios preuve-code », car elle ignore l'exhaustivité et la complexité des spécifications. L'article souligne que la taille de la preuve a une relation approximativement quadratique avec la taille de la spécification, et que la complexité de la spécification est beaucoup plus importante que la taille du code. En analysant plusieurs systèmes vérifiés, l'auteur présente des données plus complètes, incluant la taille du code, la taille de la spécification et la taille de la preuve, et souligne le rôle de la modularité dans la réduction des coûts de vérification, mais observe également que les systèmes complexes comme seL4 sont difficiles à modulariser. Enfin, l'auteur appelle la communauté de recherche à cesser d'utiliser la métrique sans signification de « ratio preuve-code ».

Développement

DockFlow : Changement de disposition du Dock macOS en un clic

2025-05-22
DockFlow : Changement de disposition du Dock macOS en un clic

Fatigué de réorganiser constamment son Dock macOS pour différents workflows, un développeur a créé DockFlow. Cette application de productivité permet de basculer entre des dispositions de Dock préconfigurées (design, codage, écriture, réunions, etc.) en un seul clic. Plus besoin de chercher des applications ou de faire glisser des icônes : DockFlow rationalise votre workflow, améliorant la concentration et la productivité.

Développement

Winamp 2.9 réinventé dans Godot : Un voyage nostalgique multiplateforme

2025-05-22
Winamp 2.9 réinventé dans Godot : Un voyage nostalgique multiplateforme

Un développeur a recréé le lecteur de musique classique Winamp 2.9 à l'aide du moteur Godot, obtenant une compatibilité totale multiplateforme. Initialement une soumission pour le Tool Jam 5, ce projet évolue vers un lecteur personnalisable qui capture l'esthétique de l'ancienne internet tout en tirant parti des outils modernes pour toute plateforme. Il dispose de contrôles de lecture de base, de fonctionnalités de liste de lecture, d'un égaliseur 10 bandes fonctionnel et de visualiseurs. Le développeur souligne qu'il s'agit d'un projet gratuit et non commercial ; tous les droits appartiennent à leurs propriétaires respectifs.

Développement Lecteur de Musique

Échecs d'installation de paquets Python : aiohttp, cryptography, grpcio et s3fs

2025-05-22
Échecs d'installation de paquets Python : aiohttp, cryptography, grpcio et s3fs

Lors d'une installation de paquets Python, quatre paquets, aiohttp, cryptography, grpcio et s3fs, ont échoué. aiohttp a échoué en raison d'une erreur de compilation impliquant un nom de type inconnu « __pyx_vectorcallfunc », probablement liée à une incompatibilité de version du compilateur ou de Cython. cryptography a échoué car sa dépendance, le paquet asn1, nécessite rustc 1.65.0 ou supérieur, alors que la version actuelle est 1.63.0. grpcio a échoué en raison d'une erreur du compilateur C++, empêchant la compilation de l'extension. s3fs a montré la même erreur qu'aiohttp, indiquant également des problèmes de compatibilité de version du compilateur ou de Cython. D'autres paquets, tels que boto3 et requests, ont été installés avec succès.

Développement erreurs de compilation

Whenish : Planifiez des événements directement dans iMessage

2025-05-22
Whenish : Planifiez des événements directement dans iMessage

Whenish simplifie la planification d'événements en s'intégrant directement à iMessage. Les utilisateurs créent des sondages de dates, sélectionnent leur disponibilité et reçoivent des réponses en temps réel, le tout au sein du chat. Plus de chaînes de messages interminables ni de changement d'application ; il suffit de toucher l'icône Whenish, de choisir vos dates et d'envoyer. Parfait pour coordonner des dîners de groupe, des escapades de week-end, des événements familiaux ou des réunions de travail.

Lecteur de musique iOS DIY : Une révolte d’un développeur contre la dépendance à Apple

2025-05-22

Frustré par les limitations et le modèle d’abonnement d’Apple Music, un développeur a créé son propre lecteur de musique iOS à partir de zéro. Le lecteur prend en charge la lecture de fichiers locaux, la synchronisation iCloud et la recherche en texte intégral, utilisant intelligemment le FTS5 de SQLite pour une recherche floue efficace. Le processus de développement a impliqué un passage de React Native à SwiftUI, en employant une architecture de type back-end pour optimiser le flux de données et la concurrence. Bien que le produit final réponde aux besoins du développeur, l’expérience met en évidence les outils restrictifs pour les développeurs d’Apple et les politiques de distribution d’applications, ce qui entrave le développement d’applications personnelles, contrairement à la facilité de création de logiciels à l’ère de l’IA.

Développement Lecteur de musique

Ruby 3.5 : Allocation d’objets six fois plus rapide grâce à l’intégration de Class#new

2025-05-22
Ruby 3.5 : Allocation d’objets six fois plus rapide grâce à l’intégration de Class#new

Ruby 3.5 réalise une accélération significative de l’allocation d’objets, jusqu’à six fois plus rapide, grâce à l’intégration (inlining) de la méthode `Class#new`. L’article détaille cette optimisation, présentant les résultats des benchmarks, analysant les goulots d’étranglement des performances et expliquant la technique d’intégration. En éliminant les frais généraux des appels de méthodes, en réduisant la copie des paramètres et en améliorant les taux de succès du cache inline, cette optimisation traite efficacement les problèmes de performances liés à l’allocation d’objets Ruby, bien qu’elle introduise de légères préoccupations de compatibilité descendante.

Développement Machine virtuelle

Retour sur le Conseil des bogues : Correction des défauts de GitHub Issues

2025-05-22

L'auteur relate son expérience de l'utilisation de BugSplat pour la gestion de projets dans la Silicon Valley, en suivant quatre principes clés : toutes les tâches sont enregistrées comme des bogues, les bogues ont un schéma unifié et détaillé, chaque bogue est assigné à une seule personne et une fonctionnalité de requête flexible. L'auteur constate que les systèmes actuels tels que GitHub Issues sont bien inférieurs à l'efficacité de BugSplat, manquant d'un schéma complet, ayant une responsabilité diffuse et des capacités de requête limitées. L'article conclut en décrivant comment l'équipe de l'auteur améliore le projet open source Gitea pour remédier à ces lacunes, obtenant finalement la capacité de trier les listes de bogues par priorité.

Développement

Aventures en algèbre symbolique avec le protocole MCP d'Anthropic

2025-05-22

Cet article décrit une expérience utilisant le protocole Model Context Protocol (MCP) d'Anthropic pour surmonter les limitations des LLM en mathématiques symboliques. Le MCP permet aux LLM d'appeler des outils externes. L'auteur a intégré un LLM avec SymPy, un système d'algèbre informatique, pour résoudre une équation d'oscillateur harmonique amorti. Bien que l'écosystème MCP soit encore en développement et présente des risques de sécurité (exécution locale !), l'intégration réussie souligne le potentiel de cette approche. Combiner les LLM avec des outils spécialisés comme SymPy pourrait révolutionner la façon dont nous interagissons avec des calculs mathématiques complexes.

Développement

SQLite-JS : Boostez SQLite avec JavaScript

2025-05-22
SQLite-JS : Boostez SQLite avec JavaScript

L'extension SQLite-JS vous permet de créer des fonctions, des agrégats, des fonctions de fenêtre et des règles de classement personnalisées dans SQLite à l'aide de JavaScript. Cela permet une manipulation de données flexible et puissante directement dans votre base de données SQLite. Elle prend en charge les fonctions scalaires (traitement des lignes individuelles), les fonctions d'agrégation (traitement de plusieurs lignes), les fonctions de fenêtre (accès à l'ensemble complet des données) et les règles de classement personnalisées (définition des ordres de classement). Créez des fonctions pour effectuer des calculs, des manipulations de texte et des transformations de données avec des instructions SQL simples. Des exemples incluent le calcul de l'âge, de la médiane, des moyennes mobiles, et plus encore. L'évaluation directe du code JavaScript est également prise en charge pour les tâches complexes. Lorsqu'il est utilisé avec sqlite-sync, les fonctions personnalisées sont automatiquement répliquées sur un cluster SQLite Cloud.

Forge : une plateforme d’exécution GitHub Actions évolutive et sécurisée sur AWS

2025-05-22
Forge : une plateforme d’exécution GitHub Actions évolutive et sécurisée sur AWS

Forge est une plateforme multi-tenant évolutive, sécurisée et entièrement automatisée pour exécuter des runners éphémères GitHub Actions sur AWS. Conçue par des ingénieurs plateforme pour les équipes plateforme, Forge simplifie le déploiement et la gestion de GitHub Actions. Elle automatise le provisionnement et la gestion du cycle de vie des runners éphémères GitHub Actions sur EC2 et EKS, offrant un isolement multi-tenant, une remédiation à la dérive et une observabilité intégrée. Elle prend en charge plusieurs systèmes d’exploitation, GitHub Cloud et GHES, et dispose d’une planification tenant compte des coûts, d’une infrastructure flexible et de déploiements multi-runners. Un guide de démarrage complet aide les utilisateurs à déployer et configurer rapidement Forge en fonction de leurs besoins.

Développement

Shader d'espace courbé avec rotation 4D utilisant three.js

2025-05-22
Shader d'espace courbé avec rotation 4D utilisant three.js

Un shader GLSL créé avec three.js qui simule un espace courbé en projetant des modèles 3D sur une sphère unitaire 4D en utilisant une rotation 4D et une projection stéréographique. Initialement écrit en HLSL pour le jeu Unity Sfera, ce shader permet aux utilisateurs de zoomer, de faire pivoter et de contrôler la perspective de la caméra pour expérimenter des modèles animés se déplaçant dans un espace courbé. Une démo en ligne et un tutoriel vidéo sont disponibles. Les modèles sont chargés au moment de l'exécution à partir du référentiel three.js.

Développement Graphiques 4D

Optimisation d'un décodeur AV1 Rust : éviter les zéros inutiles et optimiser les comparaisons de structures

2025-05-22
Optimisation d'un décodeur AV1 Rust : éviter les zéros inutiles et optimiser les comparaisons de structures

En comparant les performances du décodeur AV1 basé sur Rust, rav1d, et celui basé sur C, dav1d, l'auteur, utilisant un profileur d'échantillonnage, a identifié deux goulots d'étranglement de performance. Le premier était le zéro inutile d'une mémoire tampon dans rav1d sur l'architecture ARM, entraînant une dégradation des performances. Le second était une implémentation inefficace des comparaisons de structures dans rav1d. En utilisant `MaybeUninit` pour éviter les zéros inutiles et en optimisant les comparaisons de structures, l'auteur a amélioré les performances de rav1d de près de 2%.

Développement Décodeur AV1

Le modèle o3 d'OpenAI trouve une faille zero-day dans le noyau Linux

2025-05-22
Le modèle o3 d'OpenAI trouve une faille zero-day dans le noyau Linux

Ce billet détaille comment l'auteur a découvert une vulnérabilité zero-day (CVE-2025-37899) dans le noyau Linux en utilisant le modèle o3 d'OpenAI. En auditant ksmbd, l'auteur a utilisé o3 pour analyser le code, identifiant avec succès une vulnérabilité use-after-free dans le gestionnaire de commandes SMB 'logoff'. o3 a compris la logique complexe des connexions concurrentes et du partage d'objets, pointant ainsi le défaut. De plus, o3 a redécouvert une autre vulnérabilité, CVE-2025-37778. L'auteur soutient que o3 représente un progrès significatif dans la capacité de raisonnement sur le code, offrant aux chercheurs en vulnérabilités un nouvel outil puissant pour augmenter considérablement leur efficacité.

Développement

OCR pour le code : transformer les captures d’écran en code

2025-05-22
OCR pour le code : transformer les captures d’écran en code

Pieces a affiné la technologie OCR pour reconnaître précisément le code à partir de captures d’écran. S’appuyant sur le moteur Tesseract, ils ont ajouté des étapes de pré et de post-traitement pour gérer divers environnements de programmation (mode clair/sombre), des arrière-plans bruités et des images basse résolution. Le prétraitement des images, notamment l’inversion du mode sombre, la réduction du bruit et l’amélioration de la résolution, ainsi que le post-traitement pour restaurer l’indentation du code, améliorent considérablement la précision. Ils utilisent la distance de Levenshtein pour évaluer les performances du modèle et ont sélectionné expérimentalement une méthode efficace de suréchantillonnage d’images. Cette technologie permet aux développeurs de convertir facilement les captures d’écran de code en code éditable, augmentant ainsi l’efficacité du développement.

Développement reconnaissance de code

De 14 ingénieurs à une équipe hautement efficace : une histoire de spécialisation contre généralisation

2025-05-22
De 14 ingénieurs à une équipe hautement efficace : une histoire de spécialisation contre généralisation

Une équipe d’ingénierie de 14 personnes a lutté contre une mauvaise communication et une faible efficacité. Ils ont essayé diverses solutions, notamment des points quotidiens asynchrones et la division de l’équipe, mais n’ont pas réussi à résoudre la cause profonde. Finalement, ils ont abandonné la spécialisation et adopté un modèle généraliste, permettant aux membres de l’équipe de maîtriser plusieurs compétences et de partager la responsabilité de tous les aspects du produit. Ce changement a donné des résultats positifs inattendus : une collaboration plus fluide, une efficacité considérablement améliorée, une livraison plus rapide, une qualité supérieure et une utilisation optimisée des ressources. Cependant, le modèle généraliste a également présenté des défis, tels que le départ de certains membres et une augmentation de la charge de travail. L’auteur soutient qu’il n’existe pas de meilleures pratiques universelles ; ce qui fonctionne pour votre équipe est le meilleur, et l’amélioration continue et l’expérimentation sont essentielles.

Développement généraliste

Les en-têtes d'objets compacts de Java deviennent une fonctionnalité produit

2025-05-22

Le JEP 519 promeut la fonctionnalité expérimentale « En-têtes d'objets compacts » en fonctionnalité produit complète dans Java. Initialement introduite dans JDK 24 pour optimiser la disposition de l'en-tête d'objet et améliorer les performances, elle a subi des tests approfondis chez Oracle et Amazon, prouvant sa stabilité et ses gains de performances. L'indicateur `-XX:+UnlockExperimentalVMOptions` n'est plus nécessaire pour l'activation. Des extensions futures pour plus de bits d'en-tête d'objet sont prévues, les projets Valhalla et Lilliput fournissant des solutions.

Développement
1 2 79 80 81 83 85 86 87 214 215