3 votes

Est-il correct de dire que "Java est indépendant de la plate-forme mais dépend de la version" ?

L'application de notre projet utilise Java 5 et maintenant, lorsque je mets à jour Java 6, il y a une sorte d'incohérence avec la fonctionnalité et voyant ces effets, notre gestionnaire a fait le commentaire suivant "Java est indépendant de la plate-forme mais dépend de la version" C'est vraiment vrai ?

3voto

Vincent Ramdhanie Points 46265

Les nouvelles versions de Java exécutent le code compilé dans les versions précédentes. Ainsi, si vous compilez votre code en Java 5 et essayez ensuite de l'exécuter dans un environnement Java 6, il fonctionnera.

Si vous compilez en Java 6, il ne fonctionnera pas dans un environnement Java 5.

1voto

Pascal Thivent Points 295221

Según La compatibilité avec Java SE en un coup d'œil :

La plate-forme Java, standard Edition(Java SE) est fortement compatible avec les versions précédentes de la plate-forme Java. Chaque version de Java SE présente une compatibilité binaire avec la version précédente précédente, à l'exception des incompatibilités notées dans le documentation. Java SE ne supporte pas supporte pas la compatibilité descendante des sources, Cependant, si les fichiers sources utilisent de nouvelles fonctionnalités du langage ou de la plate-forme Java SE de la plate-forme Java SE, ils ne seront pas utilisables avec une version antérieure de la plate-forme Java.

La documentation décrit tout problèmes de compatibilité entre la version actuelle et la version qui la précède immédiatement.

Ainsi, tel qu'il est écrit, chaque version de Java SE a une compatibilité binaire ascendante avec la version précédente, à l'exception des incompatibilités énumérées (qui sont considérées comme mineures). Cela dit, personne ne vous oblige à mettre à niveau (tant que le support ne pose pas de problème). Si vous ne voulez pas bénéficier des nouvelles fonctionnalités d'une nouvelle version (comme les améliorations de performance, les améliorations d'API, etc), ne le faites pas. ), ne le faites pas. Mais à mon avis, les avantages valent en général les efforts (mineurs) consentis. Vérifiez vous-même.

0voto

James Black Points 26183

Chaque fois que vous mettez à niveau un framework, il peut y avoir des changements imprévus. C'est pourquoi les tests unitaires sont importants, car vous pouvez alors exécuter vos tests et vous assurer que le comportement n'a pas changé.

Rien ne dit que le JDK6 fonctionnera toujours comme le JDK5. Par exemple, il semble que l'ordre dans un HashMap sera différent entre les deux versions, mais comme un HashMap n'est pas ordonné, ce n'est pas un réel problème, à moins que vous n'attendiez que l'ordre soit cohérent.

0voto

Erik Points 174

De temps en temps, les nouvelles versions de Java introduisent de nouvelles fonctionnalités Java. Cependant, il est notoirement difficile de maintenir la compatibilité ascendante à tout moment, et on ne peut pas s'attendre à ce que le code écrit pour les nouvelles versions de Java fonctionne avec les anciennes versions de l'environnement d'exécution.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X