Warum ist die Stringverkettung schlecht?

Inhaltsverzeichnis:

Warum ist die Stringverkettung schlecht?
Warum ist die Stringverkettung schlecht?

Video: Warum ist die Stringverkettung schlecht?

Video: Warum ist die Stringverkettung schlecht?
Video: For Schleifen in Java | Tutorial 2024, Dezember
Anonim

Dies ist „String-Verkettung“, und es ist eine schlechte Praxis: … Einige mögen sagen, dass es langsam ist, hauptsächlich, weil Teile des resultierenden Strings mehrfach kopiert werden In der Tat, bei jedem +-Operator weist die String-Klasse einen neuen Block im Speicher zu und kopiert alles, was sie hat, hinein; plus ein Suffix, das verkettet wird.

Ist die String-Verkettung ineffizient?

Die Verkettung ist nicht so ineffizient, weil moderne Compiler sie durch eine effiziente Implementierung auf Basis von StringBuilder ersetzen (Sie werden es sehen, wenn Sie sich den Bytecode der Klassendatei ansehen).

Warum ist die String-Verkettung teuer?

Es war teuer. Lassen Sie uns zuerst auf die Frage eingehen, warum es teuer ist. In Java sind String-Objekte unveränderlich, was bedeutet, dass Sie sie nach ihrer Erstellung nicht mehr ändern können. Wenn wir also einen String mit einem anderen verketten, wird ein neuer String erstellt und der ältere wird für den Garbage Collector markiert.

Welche Gefahren bestehen bei der Verwendung von Zeichenfolgenverkettungen in einer SQL-Abfrage?

1 Antwort

  1. Performance: Bei Verwendung einer vorbereiteten Anweisung muss die Abfragesyntax nur einmal geparst und der Zugriffspfad nur einmal für jeden einzelnen Abfragetyp berechnet werden. …
  2. Sicherheit: Die Verwendung von String-Verkettungen mit vom Benutzer bereitgestellten Daten ist immer anfällig für SQL-Injection-Angriffe.

Ist die Stringverkettung in Python langsam?

Dieses Verh alten sollte Sie nicht überraschen: Pythons String-Objekte sind unveränderlich, also erzeugt jede Verkettung einen neuen String, anstatt den vorhandenen an Ort und Stelle zu ändern. Es überrascht auch nicht, dass mehrere Zeichenfolgenverkettungen als langsam gelten.

Empfohlen: