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()要比通过循环来复制数组快的多。