рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрд▓рд╛рд╕реЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛

рдХрднреА рдЖрдкрдиреЗ рд╕реЛрдЪрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ?



рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕реНрдЯреНрд░рд┐рдВрдЧрдмреНрдпреВрд▓рд░ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧрдмрдлрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЬрд╛рд╡рд╛.рд▓рдВрдЧ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред





рд╕реНрдкрд╖реНрдЯ рддрдереНрдп





рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рдореБрдЦреНрдп рд╡рд░реНрдЧ рд╣реИрдВред рдореБрдЦреНрдп рд╡рд░реНрдЧ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдХреНрд╕рд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ ред рдЗрд╕ рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рддрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рд╣рдордиреЗ рдХрд┐рд╕ рд╡рд░реНрдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд░рд╣реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдбрд┐рдЬрд╛рдЗрди:



String st = "";

st += "";







рд╕реНрдЯреНрд░рд┐рдВрдЧ "рдорд╛рд╢рд╛рд╢рд╛" рдпреБрдХреНрдд рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ рдФрд░ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдореВрд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдпрджрд┐ рдПрдХ рд╣реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдХрдИ рд╕рдорд╡рд░реНрддреА рдСрдкрд░реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдПрдХ рдЧрд╣рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЛ рдХрд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИред



рдЕрдЧрд░ рд╣рдореЗрдВ рдореНрдпреВрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣рдореЗрдВ рдЕрдиреНрдп рдХрдХреНрд╖рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдерд╛ рд╡рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧрд░рдмрдлрд╝рд░ рдерд╛ рдФрд░ рдПрдХ рдирдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрд░рдмрд░реНрд▓ (рд╕рдВрд╕реНрдХрд░рдг 1.5 рдХреЗ рдмрд╛рдж рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдХрд╣рддрд╛ рд╣реИ , рд╕реНрдЯреНрд░рд┐рдВрдЧ -рдмрдлрд╝рд░ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИред



рддреБрдо рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реЛ





рдЦреИрд░, рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА, рдХрдо рдкреНрд░рднрд╛рд╡реА, рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирдВрдмрд░ рдЪрд╛рд╣рд┐рдПред рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрджреНрднреБрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп "рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ" рд╕реНрдЯреНрд░рд┐рдВрдЧрд░рдлрд╝рд░ / рд╕реНрдЯреНрд░рд┐рдВрдЧрдмрд░реНрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ? рдЕрдиреНрдп рд▓реЛрдЧ рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдХреЛрдИ рднреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХрд╣рддреЗ рд╣реИрдВ, рдПрдХ рд╕реМ рд╣рдЬрд╝рд╛рд░ рд╕рдореНрдореЗрд▓рди ... рд▓реЗрдХрд┐рди рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ, рдХреНрдпрд╛ рдХреЛрдИ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реИ?



рдХрд╕реМрдЯреА





рд╣рдордиреЗ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ "onegin.txt" рд╕реЗ рд▓рд╛рдЗрдиреЗрдВ рдкрдврд╝реАрдВ (рд╣рдо рдорджрдж рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕рд┐рдХ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ)ред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ 297463 рдмрд╛рдЗрдЯреНрд╕, utf-8, 27195 рд╢рдмреНрдж рд╣реИред рд╕рднреА рддреАрди рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╡рд┐рднрд┐рдиреНрди JVM рдФрд░ рджреЛ OS рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред Linux (I рдЙрдкрдпреЛрдЧ LinuxMint 9 рдРрд╕рд╛ рдЕрд▓рдВрдХреГрдд рдЙрдмрдВрдЯреВ рд╣реИ, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдирд╣реАрдВ рдкрддрд╛) рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдФрд░ рд╡рд┐рди XP рдкреНрд░реЛ SP3ред рджреЛрдиреЛрдВ OS 32-рдмрд┐рдЯ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдЯрдо N280 рдХреЗ рд╕рд╛рде рдиреЗрдЯрдмреБрдХ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╣рдо рд░рд┐рдХреЙрд░реНрдб рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рд╡реГрддреНрддрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реА, рдХрд╣реАрдВ рднреА рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ:

package stringtest1;



import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.util.Scanner;



public class Main {



public static void main( String [] args) throws FileNotFoundException, IOException {



BufferedReader reader = new BufferedReader( new FileReader( "onegin.txt" ));



StringBuilder sb = new StringBuilder ();

String line = null ;

while ( (line = reader.readLine()) != null ) {

sb.append(line).append( "\n" );

}

reader.close();

String [] words = sb.toString().split( "\\s+" );

System. out .println( "Total words:" + words.length);

waitEnter();



long ts = System.nanoTime();



String buff = "" ;

//2 StringBuffer buff = new StringBuffer();

//3 StringBuilder buff = new StringBuilder();



for ( String word : words) {

buff += word + " " ;

//2&3 buff.append(word).append(" ");

}



long te =System.nanoTime();



System. out .println( "Complete, lenght:" + buff.length() + " elapsed time:" + (te - ts)/1e6 + "ms" );



}



private static void waitEnter() {

Scanner scan = new Scanner(System. in );

System. out .print( "Press Enter key." );

scan.nextLine();

}



}



* This source code was highlighted with Source Code Highlighter .








StringBuffer рдФрд░ StringBuilder рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╕рдорд╛рди рд╣реИрдВ, рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рдордп рдХреА рдорд╛рдк 5 рдЧреБрдирд╛ рдХреА рдЧрдИ рдФрд░ рдФрд╕рдд рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИред



рдкрд░рд┐рдгрд╛рдо



рд▓рд┐рдирдХреНрд╕


рд╡рд░реНрдЧ рдУрдкрди JDK 1.6.0_18 рд╣реЙрдЯрд╕реНрдкреЙрдЯ 1.6.0_20 JRockit 4.0.1
рддрд╛рд░ 27390ms 26850ms 26940ms
StringBuffer 35.55ms 34.87ms 15.41ms
StringBuilder 33.01ms 31.78ms 12.82ms


рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреА


рд╡рд░реНрдЧ рд╣реЙрдЯрд╕реНрдкреЙрдЯ 1.6.0_20 JRockit 4.0.1
рддрд╛рд░ 55260ms 45330ms
StringBuffer 19.38ms 14.50ms
StringBuilder 16.83ms 12.76ms




рдирд┐рд╖реНрдХрд░реНрд╖



рдпрджрд┐ рд╣рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рддрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ StringBuffer (рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ) рдФрд░ StringBuilder рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдВрддрд░ рдмрд╣реБрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред



рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдУрдкрди рдЬреЗрдбрдбреАрдХреЗ рд╕реЗ рдЬреЗрд╡реАрдПрдо рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рдХреНрдпреЛрдВ рд╣реИ, рд╡рд╣рд╛рдВ рд╕реВрд░реНрдп рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдУрд░реЗрдХрд▓ рдореБрдбрд╝ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдФрд░ WinXP рдХреЗ рддрд╣рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рдХреНрдпреЛрдВ рд╣реИред рдЯреЙрд▓реА рд╡рд┐рди рдЬреЗрд╡реАрдПрдо рдХреЛ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдпрд╣ рдЬреЗрд╡реАрдПрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ ... рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЖрдЧреЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП:

JRockit Oracle рдХреА рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╣реИред

рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реВрд░реНрдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рдорд╢реАрди рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдм рдЦреБрдж рдУрд░реЗрдХрд▓ рдиреЗ рдЦрд░реАрджрд╛ рд╣реИред

рдУрдкрди рдЬреЗрдбрдбреАрдХреЗ - рдУрдкрди рд╕реЛрд░реНрд╕ рдЬреЗрдбреАрдХреЗ рд╕рди рджреНрд╡рд╛рд░рд╛ рдЦреБрд▓реЗ рдПрдХ рд╕рдордп рдореЗрдВ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред



All Articles