Waarom is string-samevoeging sleg?

INHOUDSOPGAWE:

Waarom is string-samevoeging sleg?
Waarom is string-samevoeging sleg?

Video: Waarom is string-samevoeging sleg?

Video: Waarom is string-samevoeging sleg?
Video: Dit gebeurt er als je een week geen ondergoed draagt 2024, November
Anonim

Dit is "string samevoeging," en dit is 'n slegte praktyk: … Sommige mag sê dat dit stadig is, meestal omdat dele van die gevolglike string verskeie kere gekopieer word Inderdaad, op elke + operateur, ken String klas 'n nuwe blok in geheue toe en kopieer alles wat dit daarin het; plus 'n agtervoegsel wat aaneengeskakel word.

Is string aaneenskakeling ondoeltreffend?

Die samevoeging is nie so ondoeltreffend nie, want moderne samestellers vervang dit met 'n doeltreffende implementering gebaseer op StringBuilder (jy sal dit sien as jy na die klaslêer se greepkode kyk).

Waarom is string aaneenskakeling duur?

Dit was duur. Kom ons delf eers na die kwessie van hoekom dit duur is. In Java is string voorwerpe onveranderlik, wat beteken dat sodra dit geskep is, jy dit nie kan verander nie. Wanneer ons dus een string met 'n ander aaneenskakel, word 'n nuwe string geskep, en die ouer een word vir die vullisverwyderaar gemerk.

Wat is die gevare van die gebruik van string-samevoeging in 'n SQL-navraag?

1 antwoord

  1. Prestasie: Wanneer 'n voorbereide stelling gebruik word, moet die navraagsintaksis slegs een keer ontleed word en die toegangspad moet slegs een keer vir elke spesifieke navraagtipe bereken word. …
  2. Sekuriteit: Die gebruik van string-samevoeging met data wat deur die gebruiker verskaf is, is altyd geneig tot SQL-inspuiting-aanvalle.

Is string aaneenskakeling stadig in Python?

Hierdie gedrag behoort jou nie te verbaas nie: Python se string-objekte is onveranderlik, so elke aaneenskakeling genereer 'n nuwe string in plaas daarvan om die bestaande een in plek te verander. Dit is ook geen verrassing dat veelvuldige string-samevoegings as stadig beskou word.

Aanbeveel: