xmxm76 发表于 2017-1-14 09:13:56

apache的replace,trim方法 StringUtils.replace(),StringUtils.trimWhitespace() java原生

  apache的replace,trim方法 StringUtils.replace(),StringUtils.trimWhitespace() 
java原生的replace,trim方法之间性能的巨大差别。 

Java代码  


[*]public class App   
[*]{  
[*]    final static String teString = "    555555599999999999999999aaa sss ssaaaaaaaaaaaaaatasdtatastasrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ";   
[*]    public static void main( String[] args )  
[*]    {  
[*]        int t = 100000;  
[*]         long start1 = System.nanoTime();  
[*]         long stringUtilsReplaceTime = 0;  
[*]         long stringUtilsTrimTime = 0;  
[*]         long stringReplaceTime = 0;  
[*]         long stringTrimTime = 0;  
[*]         for(int i= 0;i<t;i++){  
[*]           StringUtils.replace(teString,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","b");  
[*]         }  
[*]         stringUtilsReplaceTime= System.nanoTime()-start1;  
[*]           
[*]           
[*]          start1 = System.nanoTime();  
[*]         for(int i= 0;i<t;i++){  
[*]           teString.replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "b");  
[*]         }  
[*]           
[*]         stringReplaceTime = System.nanoTime()-start1;  
[*]  
[*]        start1 = System.nanoTime();  
[*]       for(int i= 0;i<t;i++){  
[*]           teString.trim();  
[*]       }  
[*]       stringTrimTime = System.nanoTime()-start1;  
[*]         
[*]         
[*]        start1 = System.nanoTime();  
[*]       for(int i= 0;i<t;i++){  
[*]            
[*]           StringUtils.trimWhitespace(teString);  
[*]       }  
[*]         
[*]       stringUtilsTrimTime = System.nanoTime()-start1;  
[*]         
[*]       System.out.println("stringUtilsReplaceTime:"+stringUtilsReplaceTime);  
[*]       System.out.println("stringReplaceTime     :"+stringReplaceTime);  
[*]       System.out.println("stringUtilsTrimTime   :"+stringUtilsTrimTime);  
[*]       System.out.println("stringTrimTime        :"+stringTrimTime);  
[*]    }  
[*]   
[*]}  



输出结果为: 
stringUtilsReplaceTime:293389595 
stringReplaceTime     :1019421816 
stringUtilsTrimTime   :176730378 
stringTrimTime        :3888271 


Java代码  


[*]public class App   
[*]{  
[*]    final static String teString = "    555555599999999999999999aaa sss ssaaaaaaaaaaaaaatasdtatastasrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ";   
[*]    public static void main( String[] args )  
[*]    {  
[*]        int t = 100;  
[*]         long start1 = System.nanoTime();  
[*]         long stringUtilsReplaceTime = 0;  
[*]         long stringUtilsTrimTime = 0;  
[*]         long stringReplaceTime = 0;  
[*]         long stringTrimTime = 0;  
[*]         for(int i= 0;i<t;i++){  
[*]           StringUtils.replace(teString,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","b");  
[*]         }  
[*]         stringUtilsReplaceTime= System.nanoTime()-start1;  
[*]           
[*]           
[*]          start1 = System.nanoTime();  
[*]         for(int i= 0;i<t;i++){  
[*]           teString.replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "b");  
[*]         }  
[*]           
[*]         stringReplaceTime = System.nanoTime()-start1;  
[*]  
[*]        start1 = System.nanoTime();  
[*]       for(int i= 0;i<t;i++){  
[*]           teString.trim();  
[*]       }  
[*]       stringTrimTime = System.nanoTime()-start1;  
[*]         
[*]         
[*]        start1 = System.nanoTime();  
[*]       for(int i= 0;i<t;i++){  
[*]            
[*]           StringUtils.trimWhitespace(teString);  
[*]       }  
[*]         
[*]       stringUtilsTrimTime = System.nanoTime()-start1;  
[*]         
[*]       System.out.println("stringUtilsReplaceTime:"+stringUtilsReplaceTime);  
[*]       System.out.println("stringReplaceTime     :"+stringReplaceTime);  
[*]       System.out.println("stringUtilsTrimTime   :"+stringUtilsTrimTime);  
[*]       System.out.println("stringTrimTime        :"+stringTrimTime);  
[*]    }  
[*]   
[*]}  



结果为: 
stringUtilsReplaceTime:94864540 
stringReplaceTime     :8341259 
stringUtilsTrimTime   :953821 
stringTrimTime        :57856 
页: [1]
查看完整版本: apache的replace,trim方法 StringUtils.replace(),StringUtils.trimWhitespace() java原生