Logo it.boatexistence.com

Perché la concatenazione di stringhe è errata?

Sommario:

Perché la concatenazione di stringhe è errata?
Perché la concatenazione di stringhe è errata?

Video: Perché la concatenazione di stringhe è errata?

Video: Perché la concatenazione di stringhe è errata?
Video: Perché i fisici continuano a cercare il gravitone, se la gravità non è una forza? 2024, Maggio
Anonim

Questa è una "concatenazione di stringhe", ed è una cattiva pratica: … Alcuni potrebbero dire che è lenta, principalmente perché parti della stringa risultante vengono copiate più volte In effetti, su ogni + operatore, la classe String alloca un nuovo blocco in memoria e copia tutto ciò che ha in esso; più un suffisso concatenato.

La concatenazione di stringhe è inefficiente?

La concatenazione non è così inefficiente, perché i compilatori moderni la sostituiscono con un'efficiente implementazione basata su StringBuilder (lo vedrai se guardi il bytecode del file di classe).

Perché la concatenazione di stringhe è costosa?

È stato costoso. Analizziamo prima la questione del perché è costoso. In Java, gli oggetti stringa sono immutabili, il che significa che una volta creati, non puoi cambiarli. Quindi, quando concateniamo una stringa con un' altra, viene creata una nuova stringa e quella più vecchia viene contrassegnata per il Garbage Collector.

Quali sono i pericoli derivanti dall'utilizzo della concatenazione di stringhe in una query SQL?

1 Risposta

  1. Prestazioni: quando si utilizza un'istruzione preparata, la sintassi della query deve essere analizzata solo una volta e il percorso di accesso deve essere calcolato solo una volta per ogni tipo di query distinto. …
  2. Sicurezza: l'utilizzo della concatenazione di stringhe con i dati forniti dall'utente è sempre soggetto ad attacchi di iniezione SQL.

La concatenazione delle stringhe è lenta in Python?

Questo comportamento non dovrebbe sorprenderti: gli oggetti stringa di Python sono immutabili, quindi ogni concatenazione genera una nuova stringa invece di modificare quella esistente sul posto. Inoltre non sorprende che concatenazioni di stringhe multiple siano considerate lente.

Consigliato: