Oracle Technologiea annoncé que le JDK 19 était désormais complet, car il a atteint la phase initiale de lancement. Sept fonctionnalités pour cette version, notamment la concurrence structurée, les modèles d'enregistrement, un aperçu d'une fonction étrangère et d'une API de mémoire, ainsi que la prise en charge de l'architecture de jeu d'instructions (ISA) Linux/RISC-V. Java 19 sera disponible en septembre 2022.Conformément au calendrier de sortie du JDK 19, Mark Reinhold, architecte en chef du groupe Java Platform d'Oracle, a annoncé que les ajouts à la prochaine version du kit de développement sont terminés. Pour rappel, une nouvelle version standard de Java est publiée tous les six mois. Avec cette dernière étape dans le processus de publication de la version standard de Java, les autres fonctionnalités prévues, telles que les génériques universels et les objets de valeur, devront attendre une version ultérieure de la plateforme. Les nouvelles fonctionnalités du JDK 19 comprennent :
Schémas de signature
security-libs/javax.net.ssl
De nouvelles API Java SE, javax.net.ssl.getSignatureSchemes() et javax.net.ssl.setSignatureSchemes(), ont été ajoutées pour permettre aux applications de personnaliser les schémas de signature utilisés dans les connexions TLS ou DTLS individuelles. Le fournisseur sous-jacent peut définir les schémas de signature par défaut pour chaque connexion TLS ou DTLS.
Les applications peuvent également utiliser les propriétés système existantes jdk.tls.client.SignatureSchemes et/ou jdk.tls.server.SignatureSchemes pour personnaliser les schémas de signature par défaut spécifiques au fournisseur. S'ils ne sont pas nuls, les schémas de signature transmis à la méthode setSignatureSchemes() remplaceront les schémas de signature par défaut pour les connexions TLS ou DTLS spécifiées.
Un fournisseur peut ne pas avoir été mis à jour pour prendre en charge les nouvelles API et dans ce cas, il peut ignorer les schémas de signature définis. Le fournisseur JDK SunJSSE prend en charge cette méthode. Il est recommandé aux fournisseurs tiers d'ajouter la prise en charge de ces méthodes lorsqu'ils ajoutent la prise en charge du JDK 19 ou des versions ultérieures.
Nouvelles propriétés système pour System.out et System.err
core-libs/java.lang
Deux nouvelles propriétés système, stdout.encoding et stderr.encoding, ont été ajoutées. La valeur de ces propriétés système est l'encodage utilisé par les flux de sortie standard et d'erreur standard (System.out et System.err). Les valeurs par défaut de ces propriétés système dépendent de la plateforme. Les valeurs prennent la valeur de la propriété native.encoding lorsque la plate-forme ne fournit pas de flux pour la console. Les propriétés peuvent être remplacées par l'option de ligne de commande du lanceur (avec -D) pour les définir en UTF-8 lorsque cela est nécessaire.
Prise en charge d'Unicode 14.0
core-libs/java.lang
Cette version met à jour la prise en charge d'Unicode à 14.0, ce qui inclut les éléments suivants : la classe java.lang.Character prend en charge la base de données de caractères Unicode du niveau 14.0, ce qui ajoute 838 caractères, pour un total de 144 697 caractères. Ces ajouts incluent 5 nouveaux scripts, pour un total de 159 scripts, ainsi que 37 nouveaux caractères emoji. Les classes java.text.Bidi et java.text.Normalizer prennent en charge le niveau 14.0 des annexes standard Unicode, respectivement #9 et #15. Le paquet java.util.regex prend en charge les grappes de graphèmes étendues basées sur le niveau 14.0 de l'annexe standard Unicode #29. Pour plus de détails sur Unicode 14.0, reportez-vous à la note de publication du Consortium Unicode.
Prise en charge de la liaison de canal HTTPS pour Java GSS/Kerberos
core-libs/java.net
La prise en charge des jetons de liaison de canal TLS pour l'authentification Negotiate/Kerberos sur HTTPS a été ajoutée via javax.net.HttpsURLConnection. Les jetons de liaison de canal sont de plus en plus nécessaires comme forme de sécurité renforcée. Ils fonctionnent en communiquant d'un client à un serveur la compréhension par le client de la liaison entre la sécurité de la connexion, représentée par un certificat de serveur TLS, et les informations d'authentification de niveau supérieur, telles qu'un nom d'utilisateur et un mot de passe. Le serveur peut alors détecter si le client a été trompé par un MITM et interrompre la session ou la connexion. Cette fonctionnalité est...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.