4 votes

Identifier les parties de mon programme Java qui ont besoin d'optimisation

Je veux optimiser mon code source Java, mais je ne suis pas sûr des parties de mon code qui pourraient être optimisées. Y a-t-il un outil ou une technique à travers laquelle je peux optimiser mon code source Java?

Je connais les fondamentaux de l'optimisation de code, mais j'ai un grand nombre de lignes et un code source très complexe (classes Java).

Puis-je optimiser mon code avec l'aide d'un profileur Java?

Merci d'avance!

3voto

Peter Lawrey Points 229686

Que voulez-vous dire par optimiser votre code? Voulez-vous refactoriser votre code pour le simplifier. Dans ce cas, je vous suggère d'utiliser votre IDE pour vous aider à refactoriser le code.

Si vous voulez minimiser sa consommation de mémoire / CPU, je vous suggère d'utiliser un profileur comme VisualVM ou YourKit pour identifier où les ressources sont consommées.

Un outil d'analyse de code peut également aider à repérer les problèmes de performance évidents. J'ai l'analyse de code activée pendant que je tape dans mon IDE ce qui m'aide à repérer ces problèmes pendant que j'écris.

3voto

Andreas_D Points 64111

Optimisation des performances - oui, un profileur peut aider. Au moins, il peut vous montrer les zones de votre application qui prennent un temps CPU inattendu.

Mais avant de commencer à apporter des modifications - veillez à ne pas faire de micro-optimisation. Regardez d'abord comment améliorer les algorithmes. Parfois, nous utilisons des boucles for imbriquées alors qu'une tâche peut être effectuée avec une seule (temps linéaire). Vérifiez si vous utilisez les bons types de collections. Ensuite, vérifiez si vous créez accidentellement plus d'objets que nécessaire (la création d'objets dans des boucles est une raison typique des problèmes de performances).

0voto

FrVaBe Points 14559

Il existe plusieurs outils pour l'analyse statique du code (pour le style du code / les conventions de code / les meilleures pratiques / l'"optimisation" des bugs de votre code).

Je recommande d'utiliser Sonar. Il couvre tous ces aspects et est facile à configurer - même sur une machine locale (dézippez et démarrez). Il est préférable de l'utiliser avec des projets Maven mais également possible pour les projets NON Maven.

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