Bu, “sətir birləşməsidir” və bu pis təcrübədir: … Bəziləri bunun yavaş olduğunu söyləyə bilər, əsasən nəticədə yaranan sətirin hissələri dəfələrlə kopyalandığı üçün Həqiqətən, hər + operatorunda String sinfi yaddaşda yeni blok ayırır və özündə olan hər şeyi ona köçürür; üstəgəl birləşən şəkilçi.
Sətrin birləşdirilməsi səmərəsizdir?
birləşdirmə o qədər də səmərəsiz deyil, çünki müasir kompilyatorlar onu StringBuilder-ə əsaslanan effektiv tətbiqetmə ilə əvəz edir (sınıf faylının bayt koduna baxsanız, bunu görəcəksiniz).
Sətrin birləşdirilməsi niyə bahadır?
Baha başa gəldi. Gəlin əvvəlcə bunun niyə baha olması məsələsini araşdıraq. Java-da sətir obyektləri dəyişməzdir, yəni o yaradıldıqdan sonra onu dəyişə bilməzsiniz. Beləliklə, biz bir sətri digəri ilə birləşdirəndə yeni sətir yaradılır, köhnəsi isə zibil yığan üçün işarələnir.
SQL sorğusunda sətir birləşməsindən istifadənin təhlükələri nələrdir?
1 Cavab
- Performans: Hazırlanmış ifadədən istifadə edərkən sorğu-sintaksisi yalnız bir dəfə təhlil edilməli və hər bir fərqli sorğu növü üçün giriş yolu yalnız bir dəfə hesablanmalıdır. …
- Təhlükəsizlik: İstifadəçi tərəfindən təmin edilən data ilə sətir birləşməsindən istifadə həmişə SQL-injection-hücumlarına meyllidir.
Strin birləşdirilməsi Python-da yavaşdır?
Bu davranış sizi təəccübləndirməməlidir: Python-un sətir obyektləri dəyişməzdir, ona görə də hər bir birləşmə mövcud olanı yerində dəyişdirmək əvəzinə yeni sətir yaradır. Həm də təəccüblü deyil ki, çox simli birləşmələr yavaş hesab olunur.