Java性能优化笔记

 0.以下信息均来自《Java性能优化》一书,在此做记录供参考使用。

 1.string.substring()方法在数据量较大时容易内存溢出,建议eg:

new String(string.substring());


由于substring方法内部调用string的构造方法,采用空间换时间的概念,内存量较大时不易被释放,造成内存溢出;

2.字符串分割和查找方法中,使用split()函数,功能强大,但是效率很差在大数据量面前,性能效率稳定的是StringTokenizer()函数,再者使用string.indexof()+ string.sbustring(),性能最好,eg:

    String splitstr=null;
    int j = temp.indexof(',');
    if(j<0) break;
    splitestr = temp.substring(0,j);
    temp = new String(tem.substring(j));


3.charAt()方法与indeof()方法功能相反,使用charAt()方法判断字符串中是否包含某个字符,性能要高于,startwith()和endswith()方法。

4.string,stringbuilder,stringbuffer三个方法中

eg;

string str="string"+"and"+"stringbuilder";
//-------------
StringBuilder str = new StringBuilder();
str.append("string");
str.append("and");
str.append("stringbuilder");

两者的代码效果前者更好,因为在java编优化译器中会对静态字符串做优化,合成一个长的字符串,但是使用stringbuilder显示的对象来提升程序性能,而不是依靠编译器对程序的性能提升。



你可能感兴趣的:(Java性能优化笔记)