Kāpēc virkņu savienošana ir slikta?

Satura rādītājs:

Kāpēc virkņu savienošana ir slikta?
Kāpēc virkņu savienošana ir slikta?

Video: Kāpēc virkņu savienošana ir slikta?

Video: Kāpēc virkņu savienošana ir slikta?
Video: Optimize String Concatenation in Unity (It's not String Builder) 2024, Decembris
Anonim

Šī ir “virkņu savienošana”, un tā ir slikta prakse: … Daži var teikt, ka tā ir lēna, galvenokārt tāpēc, ka iegūtās virknes daļas tiek kopētas vairākas reizes Patiešām, uz katra + operatora, String klase piešķir jaunu bloku atmiņā un iekopē visu, kas tajā ir; plus sufikss tiek savienots.

Vai virkņu savienošana ir neefektīva?

Konkatenācija nav tik neefektīva, jo mūsdienu kompilatori to aizstāj ar efektīvu ieviešanu, kuras pamatā ir StringBuilder (to redzēsit, ja paskatīsities uz klases faila baitu kodu).

Kāpēc virkņu savienošana ir dārga?

Tas ir bijis dārgi. Vispirms pievērsīsimies jautājumam par to, kāpēc tas ir dārgi. Java valodā virknes objekti ir nemainīgi, kas nozīmē, ka pēc izveides to nevar mainīt. Tātad, kad mēs savienojam vienu virkni ar citu, tiek izveidota jauna virkne, un vecākā tiek atzīmēta kā atkritumu savācējs.

Kādas ir virkņu savienošanas izmantošanas briesmas SQL vaicājumā?

1 Atbilde

  1. Veiktspēja: izmantojot sagatavotu priekšrakstu, vaicājuma sintakse ir jāparsē tikai vienu reizi, un piekļuves ceļš ir jāaprēķina tikai vienu reizi katram atsevišķam vaicājuma veidam. …
  2. Drošība: izmantojot virknes savienošanu ar lietotāja sniegtajiem datiem, vienmēr var rasties SQL injekcijas uzbrukumi.

Vai Python virkņu savienošana ir lēna?

Šai rīcībai nevajadzētu jūs pārsteigt: Python virkņu objekti ir nemainīgi, tāpēc katra savienošana ģenerē jaunu virkni, nevis modificē esošo. Nav arī pārsteigums, ka vairākas virkņu savienošanas tiek uzskatītas par lēnām.

Ieteicams: