- 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
广告