Articles

Utiliser les fonctionnalités de prévisualisation JDK21 et/ou les classes incubatrices

Découvrez comment tirer le meilleur parti des fonctionnalités de prévisualisation JDK21 et des classes incubatrices pour améliorer votre code Java.

Comment configurer votre build Maven pour prendre en charge une leçon de jeu avec les nouvelles fonctionnalités de JDK21 (ou même plus récentes) comme les fonctionnalités d’aperçu et peut-être certaines classes de l’incubateur ? C’est plus facile que vous ne le pensez. Commençons la configuration. Je suppose que vous souhaitez jouer avec les fonctionnalités d’aperçu de JDK21, par exemple les modèles de chaînes (JEP430). Je viens de sélectionner ce JEP pour la démonstration. Vous pouvez sélectionner n’importe quel JEP en aperçu. La première chose à savoir est que vous devez activer les fonctionnalités d’aperçu via :

Parfois, vous souhaitez jouer avec les nouvelles fonctionnalités de JDK21 (ou même des JDK plus récents) comme les fonctionnalités de prévisualisation et peut-être certaines classes de l’incubateur. Alors, comment pouvez-vous configurer votre build Maven pour prendre en charge une telle leçon de jeu? C’est plus facile que vous ne le pensez. Commençons la configuration. Mon hypothèse est que vous souhaiteriez jouer avec les fonctionnalités de prévisualisation de JDK21, par exemple les modèles de chaîne (JEP430). Je n’ai sélectionné ce JEP que pour la démonstration. Vous pouvez sélectionner n’importe quel JEP en prévisualisation. La première chose à savoir est que vous devez activer les fonctionnalités de prévisualisation via:

XML

org.apache.maven.plugins

maven-compiler-plugin

true

Une fois cette étape terminée, vous pouvez ajouter des dépendances supplémentaires à votre projet pour prendre en charge les fonctionnalités de prévisualisation. Pour le JEP430, vous devez ajouter la dépendance suivante:

XML

org.openjdk.jmh

jmh-core

1.21.0-SNAPSHOT

test

Une fois cette étape terminée, vous pouvez commencer à utiliser les fonctionnalités de prévisualisation dans votre projet. Vous pouvez également utiliser des outils tels que JMH pour mesurer les performances des fonctionnalités de prévisualisation et comparer leurs performances avec les versions stables. Vous pouvez également utiliser des outils tels que JUnit pour tester le comportement des fonctionnalités de prévisualisation et vous assurer qu’elles fonctionnent comme prévu. Enfin, vous pouvez utiliser des outils tels que SonarQube pour surveiller la qualité du code et vous assurer que les fonctionnalités de prévisualisation ne compromettent pas la qualité du code.

Une fois que vous avez configuré votre projet pour prendre en charge les fonctionnalités de prévisualisation, vous pouvez commencer à explorer les données et à tirer parti des nouvelles fonctionnalités. Vous pouvez par exemple analyser les données pour voir comment les nouvelles fonctionnalités affectent les performances ou la qualité du code. Vous pouvez également utiliser des outils tels que Spark ou Hadoop pour traiter et analyser des jeux de données volumineux et tirer des conclusions sur les performances et la qualité des fonctionnalités de prévisualisation. Vous pouvez même créer des modèles d’apprentissage automatique pour prédire le comportement des n

Source de l’article sur DZONE

Over the last decade of cloud migration, the threat model against Java applications and the way that we need to defend them has shifted. OpenJDK has made one positive change in this area already by deprecating the old SecurityManager, a relic that protected a bygone era of AOL CDs and paper maps. The next positive change in security is to strengthen the supply chain of software components, know what’s running and what’s vulnerable, and communicate this information with non-technical experts whose data is at risk.

Part of this threat model is driven by vulnerable libraries like last year’s Log4j. Although Log4j is a great logging library and was active on patching, many teams scrambled to identify where they needed to apply those patches. For individual Java developers or teams that knew their code and could deploy, the patch was simple — you updated a library and that was it. The reality though is that software moves fast and far, often leaving the locus of control of these technical experts to stakeholders that don’t have the expertise to manage a problem at this level. In a scramble, teams that did not know Java-specifics looked everywhere including .NET software and Python forums. The government of Quebec shut services down until they knew where Log4j wasn’t. This scrambling was not effective and does not protect our data.

Source de l’article sur DZONE

Happy New Year! As we enter the new decade, I decided it was time to write my now annual blog post giving my thoughts on what this year might hold for Java. I’ll also look back on my predictions in the last post to see how accurate (or not) I was.

Obviously, the most significant thing this year will be the celebration of a whole quarter of a century since Java was launched. I plan to write a lengthy missive about the last 25 years of Java closer to the time.

Source de l’article sur DZONE

Attention to detail matters, folks.

If you’re one of the more than ten million developers who downloaded the official Docker images for OpenJDK 8 and 11 from mid April until about a month ago, you’ll really want to make sure you get those updated stat

Due to innocent enough confusion over tagging protocols, Debian volunteers populated their repos with unreleased versions of the JDKs some weeks before the final versions were ready to go, but failed to clearly label them as such.

Source de l’article sur DZONE