Ich ging durch die API der String-Klasse und sieht aus, als ob ein potenzieller Speicherverlust durch die Teilstring-Methode verursacht wird, da er dasselbe Zeichenarray wie der ursprüngliche String teilt.Java Stringstring-Methode potentielles Speicherleck?
Wenn die ursprüngliche Zeichenfolge sehr groß ist, kann die von der Teilzeichenfolge zurückgegebene Zeichenfolge die ursprüngliche Zeichenfolge (die von einem großen Array gesichert wird) aus der Speicherbereinigung in Java verhindern.
Irgendwelche Gedanken oder habe ich die API falsch gelesen.
Dies ist technisch gesehen überhaupt kein Speicherleck, da das Zeichenarray immer noch referenziert ist und später gesammelt werden kann, wenn alle Zeichenfolgen, die darauf verweisen, gesammelt werden. Ein Teil des Zeichen-Arrays wird möglicherweise nicht mehr verwendet, aber das macht es nicht zu einem Leck. – cdhowie
Wenn Sie eine 100 große Zeichenfolge alle 100 MB haben und Sie eine Teilzeichenfolge (0,1) haben, halten Sie technisch den Wert [] in String-Klasse und nie in der Anwendung sind große Zeichenfolgen für Garbage Collection geeignet –
besten Link http://javarevisited.blogspot.com/2012/03/why-character-array-is-better-than.html – Premraj