Logo no.boatexistence.com

Hvorfor er strengsammenkobling dårlig?

Innholdsfortegnelse:

Hvorfor er strengsammenkobling dårlig?
Hvorfor er strengsammenkobling dårlig?

Video: Hvorfor er strengsammenkobling dårlig?

Video: Hvorfor er strengsammenkobling dårlig?
Video: Hvorfor er strandsonen så hellig? 2024, Kan
Anonim

Dette er «strengsammenkobling», og det er en dårlig praksis: … Noen vil kanskje si at den er treg, mest fordi deler av den resulterende strengen kopieres flere ganger Indeed, på hver +-operator, tildeler String-klassen en ny blokk i minnet og kopierer alt den har i den; pluss at et suffiks blir sammenkoblet.

Er strengsammenkobling ineffektiv?

sammenkoblingen er ikke så ineffektiv, fordi moderne kompilatorer erstatter den med en effektiv implementering basert på StringBuilder (du vil se den hvis du ser på klassefilens bytekode).

Hvorfor er strengsammenkobling dyrt?

Det har vært dyrt. La oss først grave i spørsmålet om hvorfor det er kostbart. I Java er strengobjekter uforanderlige, noe som betyr at når de først er opprettet, kan du ikke endre det. Så når vi setter sammen en streng med en annen, opprettes en ny streng, og den eldre er merket for søppelsamleren.

Hva er farene ved å bruke strengsammenkobling i en SQL-spørring?

1 svar

  1. Ytelse: Når du bruker en forberedt setning, må spørringssyntaksen kun analyseres én gang, og tilgangsstien må kun beregnes én gang for hver enkelt spørringstype. …
  2. Sikkerhet: Bruk av strengsammenkjedede data med data levert av brukeren er alltid utsatt for SQL-injeksjonsangrep.

Er strengsammenkobling treg i Python?

Denne oppførselen burde ikke overraske deg: Pythons strengobjekter er uforanderlige, så hver sammenkledning genererer en ny streng i stedet for å endre den eksisterende på plass. Det er heller ingen overraskelse at sammenkoblinger av flere strenger anses som trege.

Anbefalt: