Pourquoi la concaténation de chaînes est mauvaise ?

Table des matières:

Pourquoi la concaténation de chaînes est mauvaise ?
Pourquoi la concaténation de chaînes est mauvaise ?

Vidéo: Pourquoi la concaténation de chaînes est mauvaise ?

Vidéo: Pourquoi la concaténation de chaînes est mauvaise ?
Vidéo: PowerShell : comment concaténer des chaînes de caractères (string) ? 2024, Décembre
Anonim

C'est de la "concaténation de chaînes", et c'est une mauvaise pratique: … Certains diront que c'est lent, principalement parce que des parties de la chaîne résultante sont copiées plusieurs fois Effectivement, sur chaque opérateur +, la classe String alloue un nouveau bloc en mémoire et y copie tout ce qu'il contient; plus un suffixe concaténé.

La concaténation de chaînes est-elle inefficace ?

La concaténation n'est pas si inefficace, car les compilateurs modernes la remplacent par une implémentation efficace basée sur StringBuilder (vous le verrez si vous regardez le bytecode du fichier de classe).

Pourquoi la concaténation de chaînes coûte-t-elle cher ?

Ça a coûté cher. Examinons d'abord la question de savoir pourquoi cela coûte cher. En Java, les objets chaîne sont immuables, ce qui signifie qu'une fois créés, vous ne pouvez pas les modifier. Ainsi, lorsque nous concaténons une chaîne avec une autre, une nouvelle chaîne est créée, et la plus ancienne est marquée pour le ramasse-miettes.

Quels sont les dangers de l'utilisation de la concaténation de chaînes dans une requête SQL ?

1 Réponse

  1. Performance: lors de l'utilisation d'une instruction préparée, la syntaxe de la requête ne doit être analysée qu'une seule fois et le chemin d'accès ne doit être calculé qu'une seule fois pour chaque type de requête distinct. …
  2. Sécurité: l'utilisation de la concaténation de chaînes avec les données fournies par l'utilisateur est toujours sujette aux attaques par injection SQL.

La concaténation de chaînes est-elle lente en Python ?

Ce comportement ne devrait pas vous surprendre: les objets chaîne de Python sont immuables, donc chaque concaténation génère une nouvelle chaîne au lieu de modifier celle existante en place. Il n'est pas non plus surprenant que plusieurs concaténations de chaînes soient considérées comme lentes.

Conseillé: