实用Java编写的优化技巧
2012-06-02 09:29
211 查看
1. 尽量确定StringBuffer的容量
StringBuffer的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再丢弃旧的数组。在大多数情况下,你可以在创建StringBuffer的时候指定大小,这样就避免了在容量不够的时候自动增长,以提高性能。
如:
StringBuffer buffer = new StringBuffer(1000);
2. 尽量避免使用二维数组
二维数据占用的内存空间比一维数组多得多,大概10倍以上。
3.尽量避免使用split
除非是必须的,否则应该避免使用split,split由于支持正则表达式,所以效率比较低,如果是频繁的几十,几百万的调用将会耗费大量资源,如果确实需要频繁的调用split,可以考虑使用apache的StringUtils.split(string,char),频繁split的可以缓存结果。
4. 尽量使用System.arraycopy()代替通过来循环复制数组
System.arraycopy()要比通过循环来复制数组快的多。
StringBuffer的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再丢弃旧的数组。在大多数情况下,你可以在创建StringBuffer的时候指定大小,这样就避免了在容量不够的时候自动增长,以提高性能。
如:
StringBuffer buffer = new StringBuffer(1000);
2. 尽量避免使用二维数组
二维数据占用的内存空间比一维数组多得多,大概10倍以上。
3.尽量避免使用split
除非是必须的,否则应该避免使用split,split由于支持正则表达式,所以效率比较低,如果是频繁的几十,几百万的调用将会耗费大量资源,如果确实需要频繁的调用split,可以考虑使用apache的StringUtils.split(string,char),频繁split的可以缓存结果。
4. 尽量使用System.arraycopy()代替通过来循环复制数组
System.arraycopy()要比通过循环来复制数组快的多。
相关文章推荐
- 实用Java编写的优化技巧
- 超实用的Java数组技巧攻略
- 跟上 Java 8 : 日期和时间实用技巧
- Java性能优化技巧
- 关于Java:一个使用多个参数编写方法的技巧
- Unity 实用技巧 之 C#编程优化——枚举
- 优化Java堆大小的5个技巧
- Java性能优化技巧集锦
- Java性能优化技巧集锦
- Java 8 – 日期和时间实用技巧
- 心得总结:Java性能优化技巧集锦1
- Java 性能优化技巧
- Java性能优化技巧
- [转载] Java 性能优化技巧集锦 (6)
- 直接拿来用!超实用的Java数组技巧攻略
- 十一个超实用的Java数组技巧攻略
- Java性能优化技巧集锦
- Java 性能优化技巧集锦 (2)
- Java 性能调优的 11 个实用技巧
- 超实用的Java数组技巧攻略