JAVA性能优化之 String
2017-06-26 15:32
423 查看
1.String 3个基本特点,不变性、针对常量池的优化及类的final定义
2.String对象的4种创建方式:
①当时用任何方式来创建一个字符串对象X时,Java运行时(运行中JVM)会拿着这个X在String池中查找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串X,否则不会创建对象,即不会在池中添加;
②Java内部只要使用new关键字来创建对象,则一定会(在堆区或者栈区)创建一个新的对象;
③使用自己指定或者使用纯字符串串联来创建String对象,则仅仅会检查维护String池中的字符串,池中没有就传教一个,如果存在,就不需要创建新的,但绝不会再堆栈区再去创建该String对象;
④使用包含变量的表达式来创建String对象,则不仅会检查并维护String池,而且还会在堆栈区创建一个String对象。
3.String对象的SubString方法
String.substring()返回的String仍然会保存原始的String,而重新newString构造一个仅包含截取出的字符串的String可以节省内存。
字符串截取的效率问题:
当需要截取的字符串长度总和大于等于原始文本长度,使用String.substring()可以共享原始文本从而节省内存。
当需要截取的字符串长度总和远小于原始文本长度,使用 new String(String.substring())会节省内存。
4.如果查找单个字符的话,用charat()代替startwith()
5.字符串相加的时候,若该字符串只有一个字符的话,建议用” 代替””
String string=s+”d” >>> String string=s+’d’
6.字符串切割 split方法的效率比stringtokenizer类低很多,对于需要使用indexof()和substring()这两个方法的应用场景,也建议使用stringtokenizer代替
7.字符串的合并
string对象串接 <(效率低于)concat方法连接 <使用StringBuilder类append()方法
StringBuilder总体来说优于StringBuffer。
2.String对象的4种创建方式:
①当时用任何方式来创建一个字符串对象X时,Java运行时(运行中JVM)会拿着这个X在String池中查找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串X,否则不会创建对象,即不会在池中添加;
②Java内部只要使用new关键字来创建对象,则一定会(在堆区或者栈区)创建一个新的对象;
③使用自己指定或者使用纯字符串串联来创建String对象,则仅仅会检查维护String池中的字符串,池中没有就传教一个,如果存在,就不需要创建新的,但绝不会再堆栈区再去创建该String对象;
④使用包含变量的表达式来创建String对象,则不仅会检查并维护String池,而且还会在堆栈区创建一个String对象。
3.String对象的SubString方法
String.substring()返回的String仍然会保存原始的String,而重新newString构造一个仅包含截取出的字符串的String可以节省内存。
字符串截取的效率问题:
当需要截取的字符串长度总和大于等于原始文本长度,使用String.substring()可以共享原始文本从而节省内存。
当需要截取的字符串长度总和远小于原始文本长度,使用 new String(String.substring())会节省内存。
4.如果查找单个字符的话,用charat()代替startwith()
5.字符串相加的时候,若该字符串只有一个字符的话,建议用” 代替””
String string=s+”d” >>> String string=s+’d’
6.字符串切割 split方法的效率比stringtokenizer类低很多,对于需要使用indexof()和substring()这两个方法的应用场景,也建议使用stringtokenizer代替
7.字符串的合并
string对象串接 <(效率低于)concat方法连接 <使用StringBuilder类append()方法
StringBuilder总体来说优于StringBuffer。
相关文章推荐
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java_性能优化_推荐使用String直接量赋值
- 【转载】Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java中String性能优化
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- 【转载】Java 性能优化之String
- java String常量池与字符串拼接性能优化
- Java toString的性能优化方案比较
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇
- Java 性能优化之 String 篇