Java 实例 - 字符串优化

以下实例演示了通过 String.intern() 方法来优化字符串:

StringOptimization.java 文件

  1. public class StringOptimization {
  2. public static void main(String[] args){
  3. String variables[] = new String[50000];
  4. for( int i=0;i <50000;i++){
  5. variables[i] = "s"+i;
  6. }
  7. long startTime0 = System.currentTimeMillis();
  8. for(int i=0;i<50000;i++){
  9. variables[i] = "hello";
  10. }
  11. long endTime0 = System.currentTimeMillis();
  12. System.out.println("直接使用字符串: "+ (endTime0 - startTime0) + " ms" );
  13. long startTime1 = System.currentTimeMillis();
  14. for(int i=0;i<50000;i++){
  15. variables[i] = new String("hello");
  16. }
  17. long endTime1 = System.currentTimeMillis();
  18. System.out.println("使用 new 关键字:" + (endTime1 - startTime1) + " ms");
  19. long startTime2 = System.currentTimeMillis();
  20. for(int i=0;i<50000;i++){
  21. variables[i] = new String("hello");
  22. variables[i] = variables[i].intern();
  23. }
  24. long endTime2 = System.currentTimeMillis();
  25. System.out.println("使用字符串对象的 intern() 方法: "
  26. + (endTime2 - startTime2)
  27. + " ms");
  28. }
  29. }

以上代码实例输出结果为:

  1. 直接使用字符串: 3 ms
  2. 使用 new 关键字:5 ms
  3. 使用字符串对象的 intern() 方法: 10 ms