Logo bg.boatexistence.com

Защо конкатенацията на низове е лоша?

Съдържание:

Защо конкатенацията на низове е лоша?
Защо конкатенацията на низове е лоша?

Видео: Защо конкатенацията на низове е лоша?

Видео: Защо конкатенацията на низове е лоша?
Видео: почему китайский скутер не едет и не тянет 2024, Може
Anonim

Това е “конкатенация на низове” и това е лоша практика: … Някои може да кажат, че е бавно, предимно защото части от резултантния низ се копират многократно Наистина, на всеки + оператор, String класът заделя нов блок в паметта и копира всичко, което има в него; плюс суфикс, който се свързва.

Неефективно ли е конкатенацията на низове?

Конкатенацията не е толкова неефективна, защото съвременните компилатори го заменят с ефективна реализация, базирана на StringBuilder (ще го видите, ако погледнете байт-кода на файла с класа).

Защо конкатенацията на низове е скъпа?

Това беше скъпо. Нека първо се задълбочим в въпроса защо е скъпо. В Java низовите обекти са неизменни, което означава, че след като е създаден, не можете да го промените. Така че, когато конкатенираме един низ с друг, се създава нов низ, а по-старият е маркиран за събирач на боклук.

Какви са опасностите от използването на конкатенация на низове в SQL заявка?

1 Отговор

  1. Ефективност: Когато се използва подготвен израз, синтаксисът на заявката трябва да бъде анализиран само веднъж и пътят за достъп трябва да бъде изчислен само веднъж за всеки отделен тип заявка. …
  2. Сигурност: Използването на конкатенация на низове с данни, предоставени от потребителя, винаги е предразположено към SQL-инжектиране-атаки.

Бавна ли е конкатенацията на низове в Python?

Това поведение не трябва да ви учудва: низовите обекти на Python са неизменни, така че всяка конкатенация генерира нов низ, вместо да модифицира съществуващия на място. Също така не е изненада, че конкатенации на множество низове се считат за бавни.

Препоръчано: