Miért rossz a karakterlánc-összefűzés?

Tartalomjegyzék:

Miért rossz a karakterlánc-összefűzés?
Miért rossz a karakterlánc-összefűzés?

Videó: Miért rossz a karakterlánc-összefűzés?

Videó: Miért rossz a karakterlánc-összefűzés?
Videó: DO NOT Concatenate Strings Like This In Python, There's A Better Way. 2024, December
Anonim

Ez egy „karakterlánc-összefűzés”, és ez egy rossz gyakorlat: … Egyesek azt mondhatják, hogy lassú, főleg azért, mert a kapott karakterlánc egyes részeit többször átmásolják Valóban, minden + operátornál a String osztály lefoglal egy új blokkot a memóriában, és belemásol mindent, ami benne van; plusz egy utótag összefűzve.

Nem hatékony a karakterlánc-összefűzés?

Az összefűzés nem olyan hatástalan, mert a modern fordítók egy hatékony, StringBuilder alapú implementációra cserélik (ha megnézed az osztályfájl bájtkódját, látni fogod).

Miért drága a karakterlánc-összefűzés?

Költséges volt. Először is ássuk ki azt a kérdést, hogy miért költséges. A Java-ban a karakterlánc objektumok megváltoztathatatlanok, ami azt jelenti, hogy miután létrehozták, nem módosíthatja. Tehát amikor az egyik karakterláncot összefűzzük a másikkal, egy új karakterlánc jön létre, és a régebbi karakterlánc lesz megjelölve a szemétgyűjtő számára.

Milyen veszélyekkel jár a karakterlánc-összefűzés használata SQL-lekérdezésben?

1 Válasz

  1. Teljesítmény: Egy előkészített utasítás használatakor a lekérdezés szintaxisát csak egyszer kell elemezni, és a hozzáférési útvonalat csak egyszer kell kiszámítani minden egyes lekérdezéstípushoz. …
  2. Biztonság: A karakterlánc-összefűzés a felhasználó által megadott adatokkal mindig hajlamos SQL-injekciós támadásokra.

Lassú a karakterlánc-összefűzés a Pythonban?

Ez a viselkedés nem lep meg: a Python karakterlánc-objektumai megváltoztathatatlanok, így minden összefűzés egy új karakterláncot generál ahelyett, hogy a meglévőt módosítaná. Az sem meglepő, hogy a többszörös karakterlánc-összefűzések lassúnak számítanak.

Ajánlott: