Java 8 mise à jour 151 ou 152? [dupliquer]


Cette question a déjà des réponses ici: Quelle est la différence entre les mises à jour Java impaires et paires? (4 réponses) Fermé il y a 3 ans.

Il y a deux téléchargements Java 8 sur la page Oracle.

Les notes de version de 152 notent deux choses sur 151:

  • Amélioration des performances de BigInteger
  • Les compilateurs acceptent la modification des champs finaux en dehors des méthodes d'initialisation

Ce dernier ressemble plus à un commentaire du type "ceci est un bug mais pas corrigé en 8; il sera corrigé en Java 9". Donc cela s'applique également à la version 151 même si elle n'est pas mentionnée.

Je ne suis pas sûr de la première. Pourquoi n'est-ce pas dans 151? Je trouve cela très frustrant. Deux versions sans indication claire laquelle est "meilleure" ou la version "préférée" pour la plupart des développeurs.

D'où ma question: Est-il préférable d'utiliser 152 en production ou 151? Y a-t-il des indicateurs que je pourrais ou devrais utiliser pour décider?

Author: Bax, 2017-10-25

4 answers

L'idée générale est que

  • 8u151 (tag jdk8u151-b12) est une version critique de mise à jour de Patch (CPU)
  • 8u152 (tag jdk8u152-b16 ) est une mise à jour de Patch Set (PSU) Release

Des versions officielles Oracle CPU et PSU Expliquées

À partir de la sortie de Java SE 7 Update 71 (Java SE 7u71) dans Octobre 2014, Oracle publiera une mise à jour de correctif critique (CPU) à la en même temps qu'une mise à jour de jeu de correctifs correspondante (PSU) pour Java SE 7.

Quelle version Java dois-je choisir: le CPU ou le PSU? Oracle recommande fortement que tous les utilisateurs de Java SE mettent à niveau vers la dernière CPU version disponible pour une famille de versions. La plupart des utilisateurs devraient choisir le CPU libération.

Les utilisateurs ne doivent utiliser la version PSU correspondante que s'ils sont impacté par l'un des bugs supplémentaires corrigés dans cette version comme indiqué dans les notes de version.

La version CPU suivante contient tous les correctifs de la actuel bloc d'alimentation. Pour cette raison, les organisations devraient tester PSU dans leur environnement en prévision de ces correctifs étant inclus dans la CPU.

Quelle est la différence entre un processeur Java et une version PSU? Java SE Les mises à jour de correctifs critiques (CPU) contiennent des correctifs aux vulnérabilités de sécurité et corrections de bugs critiques. Oracle recommande fortement que tous les Java SE les utilisateurs mettent à niveau vers les dernières versions du PROCESSEUR au fur et à mesure de leur création disponible. Les versions de CPU Java SE sont des versions impaires (c'est-à-dire 7u71 – 7u65-voir plus sur les schémas de numérotation de version Java SE ici).

Java SE Patch Set Updates (PSU) contiennent tous les correctifs dans le CPU correspondant, ainsi que des correctifs non critiques supplémentaires. Java bloc d'alimentation les versions ne doivent être utilisées que si vous êtes affecté par l'un des bugs supplémentaires corrigés dans cette version. Les notes de version appellent le correctifs supplémentaires disponibles dans les versions de Java SE PSU.

BLOC d'alimentation les versions fournissent aux organisations et aux développeurs un accès à correctifs non critiques en plus des correctifs critiques contenus dans PROCESSEUR correspondant.

Lire aussi Quelle est la différence entre les mises à jour Java impaires et paires?


Pour trouver la liste complète des corrections de bogues publiques, vous devez ouvrir la page Corrections de bogues au bas des notes de version.


Il y a donc 238 corrections de bugs dans le bloc d'alimentation (8u152) (pas seulement des améliorations des performances de BigInteger). Et il y a de fortes chances que vous en obteniez la plupart de toute façon dans la prochaine version du PROCESSEUR. Il est donc recommandé de mettre à jour aussi vite que possible le 8u151 et de vous tester/ajuster code de comparabilité avec 8u152. Vous pouvez mettre à jour vers 8u152 si vous avez réellement besoin d'un correctif.

 53
Author: varren, 2017-11-01 02:58:10

Par les pages de téléchargement Oracle

Java SE 8u151 inclut d'importantes corrections de bugs. Oracle recommande fortement à tous les utilisateurs de Java SE 8 de passer à cette version. Java SE 8u152 est une mise à jour de patch-set, y compris tous les 8u151 ainsi que des fonctionnalités supplémentaires (décrites dans les notes de version).

Ce que cela signifie à des fins pratiques, c'est que si vous dépendez de jdk8u144 pour votre application, vous pouvez passer à 151 et vous attendre à ce que rien ne se casse.

, Mais si vous allez pour mettre à niveau et ne vous souciez pas particulièrement des améliorations incluses dans 152, vous pouvez aller de l'avant.

Si votre application s'appuie sur BigInteger par exemple comme dans certaines applications financières, cela peut être un gros problème et peut justifier un certain niveau de test d'intégration.

 6
Author: jayaram S, 2017-10-31 14:40:23

J'ai deux raisons de préférer 8u151:

  1. Le programme de mise à jour Java de bureau pour Windows met à jour 8u151 lorsque je lui demande de vérifier les mises à jour. J'interprète cela comme "Oracle croit que c'est la version que la plupart des gens veulent/devraient avoir".

  2. Les améliorations des performances de BigInteger semblent être la seule différence entre 151 et 152. Si ce changement avait été bien testé et prêt pour la production, Oracle l'aurait introduit dans 151 pour éviter toute confusion. Ils non.

 3
Author: Aaron Digulla, 2017-10-31 08:06:47

En général, voici comment je pense que l'on devrait choisir entre un CPU ou un PSU ... basé sur la page Oracle CPU et PSU Releases Explained (cité ci-dessus).

  • Si vous avez des applications Java critiques1, choisissez initialement le CPU sur le bloc d'alimentation. Un processeur a le moindre risque que la mise à niveau casse votre application.

    Vous devriez alors planifier une mise à niveau vers l'alimentation bientôt. La raison en est que la prochaine version du PROCESSEUR comprendra très probablement les améliorations dans ce bloc d'alimentation. Si vous ignorez le bloc d'alimentation dans ce cycle de mise à niveau, vous remettez à plus tard la recherche / correction de pannes inattendues jusqu'à la prochaine CPU (obligatoire). Vous ne pouvez pas prédire si cela causera des problèmes.

  • Sinon, si vous avez besoin des améliorations énumérées du bloc d'alimentation, choisissez le bloc d'alimentation au-dessus de la CPU.

  • Si aucun de ces éléments ne s'applique, peu importe celui que vous avez choisi.

Notez que c'est l'image si vous n'avez pas contrat de support. Si vous avez un contrat de support, il peut y avoir d'autres options; par exemple, payer pour qu'Oracle vous lance des correctifs de sécurité personnalisés qui pourraient vous permettre de reporter l'installation des améliorations ... indéfiniment.

Notez également qu'il s'agit d'un processus décisionnel idéalisé. En pratique, les ingénieurs logiciels / devops doivent souvent équilibrer les risques concurrents et les calendriers sans les ressources nécessaires pour faire un travail approprié.


Sur le sujet de pourquoi Oracle ne peut pas vous donner clairement conseil ....

  • Ils ne peuvent pas savoir avec certitude que les mises à niveau de performance BigInteger ne casseront pas votre code.

  • Ils savent que le compilateur corrige pourrait changer le comportement du code (cassé) de certains peuples. Mais il n'y a pas de moyen facile d'identifier ce code cassé a priori.

Dans aucun des cas, ils ne savent si les modifications de l'alimentation affecteront vous. Les informations se trouvent dans les notes de version pour vous permettre de décider. Ils je ne vous ai pas fourni d'arbre de décision explicite ... mais compte tenu de la nature des changements, l'approche la plus pratique consiste à "l'essayer".

Et cela explique aussi pourquoi " le groupe de personnes le plus compétent sur Terre2" ne peut pas donner de conseils clairs non plus. Il n'y a pas de réponse définitive.


1 - Critique pourrait signifier sécurité critique, sécurité critique, critique pour l'entreprise de votre organisation, critique pour l'entreprise de vos clients. Votre appeler.

2 - Tirez l'autre: il a des cloches!

 3
Author: Stephen C, 2017-11-06 14:42:37