Hej,
Nur ein kurzer Hinweis:
> String ergebnis ="";
> while((tmp = br.readLine()) != null)
> {
> ergebnis = ergebnis.concat(tmp);
> }
Da String
immutable ist, kann das so sehr unperformant werden. Für jedes concat()
-- also jeden Schleifedurchlauf -- muss die JVM erstmal neuen Speicher für eine CharacterSequence
allozieren, dann den alten String hineinkopieren, den anzuhängenden dranhängen, das so erzeugte Objekt in die neue Variable einhängen, und irgendwann den alten Speicherbereich durch den GC aufräumen. Zugegeben, in der Praxis spielt das oft keine Rolle, aber aus Prinzip und auch Komfortgründen würde ich schon zum Gebrauch des [link:http://java.sun.com/javase/6/docs/api/java/lang/StringBuilder.html@title=StringBuilder]
s, oder wenns synchronized
sein muss des [link:http://java.sun.com/javase/6/docs/api/java/lang/StringBuffer.html@title=StringBuffer]
s raten.
Siehe auch das Handbuch der Java-Programierung, Kapitel 49.2, Tuning Tips.
Beste Grüße
Biesterfeld
Art.1: Et es wie et es
Art.2: Et kütt wie et kütt
Art.3: Et hätt noch immer jot jejange
Das Kölsche Grundgesetz