JAVA基础点

1、字符串比较str.length == 0 比 "".equal(str)的性能要高
3、StringTokenizer的拆分比 String.split的性能要高
4、Vector中的add与addElement基本没什么区别,add有返回值,而addElement没有
5、对于String字符串相加,如果是固定的状况下,JAVA在编译期会对这条语句进行优化,而成为一个对象,所以在这种情况下String += newString的效率要比StringBuffer.append()的效率高,但是当String拼接字符串是动态的时候,效率就会很低。没有StringBuffer.append的效率高
String对象是非可变对象,StringBuffer对象则是可变对象。
JVM会内在地为字符串字面量维护一些唯一的String对象,程序员不需要为字符串字面量而发愁,但是可能会被一些通过 new关键字创建的String对象而困扰,不过他们可以使用intern()方法来避免在堆内存上创建重复的String对象来改善Java的运行性能。
==操作符会返回true如果一些引用指向一个相同的对象但不会判断String对象的内容是否相同;String.equals()方法会返回true如果被操作的String对象的内容相同。
总是给StringBuffer设置一个合理的初始化容量值是错不了的,这样会带来立竿见影的性能增益
6、Random.nextInt(int range)这个方法的效率比较高。

你可能感兴趣的:(java,jvm)