web-dev-qa-db-fra.com

L'importation et les objets inutilisés ont-ils un impact sur les performances?

Je doute que les importations et les objets inutilisés dans le code Java aient un impact sur les performances.

Supposons qu'un objet soit initialisé et jamais utilisé, que se passe-t-il? Et quel est le coût des importations non utilisées

56
Dheeraj Joshi

C'est une question très commune.

Comme la plupart des questions sur les performances, la meilleure approche consiste à écrire le code le plus clair et le plus simple possible, car cela améliore sa maintenabilité et lui permet de fonctionner raisonnablement même après l'avoir modifié. (Clever/Obtuse/Inutile! Un code verbeux peut être rapide au début, mais comme il est modifié par de simples mortels, il peut être beaucoup plus lent)

Les importations non utilisées ont un impact trivial sur le compilateur, mais il n'y a pas d'importations dans le code d'octet ou au moment de l'exécution.

Les objets inutilisés peuvent être optimisés, mais il est préférable de les éviter car ils ont presque toujours un impact sur les performances, mais rendent la lecture et la maintenance de votre code plus difficiles.

51
Peter Lawrey

Les importations non utilisées n'ont aucun impact sur les performances au moment de l'exécution. C'est purement un mécanisme d'espace de noms. Néanmoins, vous devez toujours importer uniquement ce dont vous avez besoin pour la lisibilité et éviter les collisions d’espace de noms qui constituent une nuisance.

Outre la lisibilité du code et, partant, sa facilité de maintenance, la compilation du code Java peut être plus rapide (bien que cela ne se remarque pas) en rangeant les importations, mais les performances d'exécution ne sont pas affectées, car le code octet généré n'est pas affecté par les importations désordonnées. Le code d'octet généré reste le même.

16
Frankline

Bien que l'impact de la compilation soit minime, l'impact du déploiement peut être mauvais. Je viens de rencontrer une importation inutilisée nécessitant une bibliothèque séparée qui est devenue une dépendance maven. Heureusement, un autre problème de dépendance transitive n’a pas été trouvé, mais la guerre était plus épaisse et sans raison. Ajoutez à cela un fichier jar superflu dans le chargeur de classes webapp.

5
Ossama Boughaba

Bien que l'importation inutilisée dans un fichier Java ne cause aucun préjudice, il est inutile d'augmenter la longueur et la taille du fichier source Java.

1
asem shawkey

Oui, cela a un impact sur les performances, si nous faisons référence à une instruction d'importation non utilisée dans notre classe Java. Le compilateur Java recherchera les références mentionnées dans la déclaration d'importation et, au niveau minute, cela aura une incidence sur les performances de votre classe.

Merci 

0
Neeraj