Logo da.boatexistence.com

Hvorfor er strengsammenkædning dårlig?

Indholdsfortegnelse:

Hvorfor er strengsammenkædning dårlig?
Hvorfor er strengsammenkædning dårlig?

Video: Hvorfor er strengsammenkædning dårlig?

Video: Hvorfor er strengsammenkædning dårlig?
Video: DO NOT Concatenate Strings Like This In Python, There's A Better Way. 2024, Kan
Anonim

Dette er "strengsammenkædning", og det er en dårlig praksis: … Nogle vil måske sige, at den er langsom, mest fordi dele af den resulterende streng kopieres flere gange Faktisk, på hver + operator tildeler String-klassen en ny blok i hukommelsen og kopierer alt, hvad den har ind i den; plus et suffiks, der sammenkædes.

Er strengsammenkædning ineffektiv?

sammenkædningen er ikke så ineffektiv, fordi moderne compilere erstatter den med en effektiv implementering baseret på StringBuilder (du vil se det, hvis du ser på klassefilens bytekode).

Hvorfor er sammenkædning af strenge dyr?

Det har været dyrt. Lad os først grave i spørgsmålet om, hvorfor det er dyrt. I Java er strengobjekter uforanderlige, hvilket betyder, at når først det er oprettet, kan du ikke ændre det. Så når vi sammenkæder en streng med en anden, oprettes en ny streng, og den ældre er markeret til skraldesamleren.

Hvad er farerne ved at bruge strengsammenkædning i en SQL-forespørgsel?

1 svar

  1. Ydeevne: Når du bruger en forberedt sætning, skal forespørgselssyntaksen kun analyseres én gang, og adgangsstien skal kun beregnes én gang for hver særskilt forespørgselstype. …
  2. Sikkerhed: Brug af streng-sammenkædning med data leveret af brugeren er altid tilbøjelig til SQL-injection-angreb.

Er strengsammenkædning langsom i Python?

Denne adfærd burde ikke overraske dig: Pythons strengobjekter er uforanderlige, så hver sammenkædning genererer en ny streng i stedet for at ændre den eksisterende på plads. Det er heller ikke overraskende, at sammenkædning af flere strenge betragtes som langsomme.

Anbefalede: