- Java 编程范例
- 范例 - 首页
- 范例 - 环境
- 范例 - 字符串
- 范例 - 阵列
- 范例 - 日期和时间
- 范例 - 方法
- 范例 - 文件
- 范例 - 目录
- 范例 - 异常
- 范例 - 数据结构
- 范例 - 集合
- 范例 - 网络
- 范例 - 线程
- 范例 - 小程序
- 范例 - 简单 GUI
- 范例 - JDBC
- 范例 - 正则表达式
- 范例 - Apache PDF Box
- 范例 - Apache POI PPT
- 范例 - Apache POI Excel
- 范例 - Apache POI Word
- 范例 - OpenCV
- 范例 - Apache Tika
- 范例 - iText
- Java 教程
- Java - 教程
- Java 的有用资源
- Java - 快速指南
- Java - 有用资源
如何在 Java 中优化字符串创建
问题描述
如何优化字符串创建?
解决方案
利用 String.intern() 方法,以下范例优化了字符串创建。
public class StringOptimization { public static void main(String[] args) { String variables[] = new String[50000]; for( int i = 0; i < 50000; i++) { variables[i] = "s"+i; } long startTime0 = System.currentTimeMillis(); for(int i = 0; i < 50000; i++) { variables[i] = "hello"; } long endTime0 = System.currentTimeMillis(); System.out.println("Creation time" + " of String literals : "+ (endTime0 - startTime0) + " ms" ); long startTime1 = System.currentTimeMillis(); for(int i = 0; i < 50000; i++) { variables[i] = new String("hello"); } long endTime1 = System.currentTimeMillis(); System.out.println("Creation time of" + " String objects with 'new' key word : " + (endTime1 - startTime1) + " ms"); long startTime2 = System.currentTimeMillis(); for(int i = 0; i < 50000; i++) { variables[i] = new String("hello"); variables[i] = variables[i].intern(); } long endTime2 = System.currentTimeMillis(); System.out.println("Creation time of" + " String objects with intern(): " + (endTime2 - startTime2) + " ms"); } }
结果
上面的代码范例会产生以下结果。结果可能有所不同。
Creation time of String literals : 0 ms Creation time of String objects with 'new' key word : 31 ms Creation time of String objects with intern(): 16 ms
java_strings.htm
广告