IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Suppression de classes sun.misc dans le JDK
Le nettoyage dans Java 8 continue

Le , par olivier.pitton

155PARTAGES

Suppression de classes sun.misc dans la version 8 de Java
Le nettoyage continue


Après la suppression de la méthode Reflection.getCallerClass, le nettoyage de classes et de méthodes dans le JDK 8 continue. Aujourd'hui, c'est l'interface sun.misc.Compare et la classe sun.misc.Sort qui sont supprimées (code review ici).

L'interface sun.misc.Compare offre une méthode de comparaison d'objets, prenant deux Object et renvoyant un int, possédant une signature très proche de l'interface java.util.Comparator. La classe sun.misc.Sort permet de trier un tableau passé en argument avec l'algorithme quicksort.

Mais pourquoi une telle suppression ?
Les développeurs du projet ont tout d'abord pensé à les mettre en @Deprecated, mais ont finalement statué qu'elles devaient être supprimées. La discussion complète autour de la suppression se trouve ici. Il faut dire qu'il y a un bogue important, de priorité 4, concernant la suppression de classes inutiles, puisque facilement remplaçables comme les deux présentées ici.

Les utilisateurs de sun.misc.Compare peuvent se tourner vers java.util.Comparator et ceux de sun.misc.Sort vers la méthode Arrays.sort.

Enfin, un nouvel utilitaire appelé jdeps arrive avec le JDK 8. Celui-ci permettra d'aider les développeurs à comprendre les dépendances statiques dans leurs projets et à identifier les usages des API non standards et internes au JDK, en tant que complément des warnings du compilateur. Vous trouverez le post associé à cet outil ici.

Il faut bien se rappeler que les classes définies dans les package sun.* sont internes à Oracle, ne sont pas portables entre les JVM et ne devraient pas être utilisées de manière publiques dans les applications.

Source :InfoQ

Et vous ?
Pensez-vous qu'Oracle peut se permettre de supprimer des méthodes aussi facilement ? Saviez-vous qu'il ne fallait pas utiliser directement les API sun.* ?

Une erreur dans cette actualité ? Signalez-le nous !