זהו "שרשור מחרוזות", וזה מנהג רע: … יש שיאמרו שהוא איטי, בעיקר בגלל שחלקים מהמחרוזת שהתקבלה מועתקים מספר פעמים אכן, בכל אופרטור +, מחלקה String מקצה בלוק חדש בזיכרון ומעתיקה את כל מה שיש לתוכו; בתוספת סיומת המשורשרת.
האם שרשור מחרוזות אינו יעיל?
השרשור לא כל כך לא יעיל, מכיוון שמהדרים מודרניים מחליפים אותו ביישום יעיל המבוסס על StringBuilder (תראה אותו אם תסתכל על קוד הביטים של ה-classfile).
למה שרשור מחרוזות יקר?
זה היה יקר. בוא נחפור תחילה בסוגיה מדוע זה יקר.ב-Java, אובייקטי מחרוזת אינם ניתנים לשינוי, כלומר ברגע שהם נוצרים, לא ניתן לשנות אותם. אז כאשר אנו משרשרים מחרוזת אחת לאחרת, נוצרת מחרוזת חדשה, והישן יותר מסומן עבור אוסף האשפה.
מהן הסכנות בשימוש בשרשור מחרוזות בשאילתת SQL?
1 תשובה
- ביצועים: בעת שימוש במשפט מוכן יש לנתח את תחביר השאילתה פעם אחת בלבד ויש לחשב את נתיב הגישה פעם אחת בלבד עבור כל סוג שאילתה נפרד. …
- אבטחה: שימוש בשרשור מחרוזות עם נתונים שסופקו על ידי המשתמש נוטה תמיד להתקפות SQL-injection.
האם שרשור מחרוזות איטי ב-Python?
התנהגות זו לא אמורה להפתיע אותך: אובייקטי המחרוזת של Python אינם ניתנים לשינוי, כך שכל שרשור יוצר מחרוזת חדשה במקום לשנות את המחרוזת הקיימת במקום. זה גם לא מפתיע ש שרשורי מחרוזות מרובות נחשבות לאיטיות.