Java/MySql代码优化(长期更新)

说明:

 记录平时需要注意的代码优化细节


1.尽可能的使用重用的对象:String/StringBuffer/StringBuilder

    String类:是一个不可变的对象(因为有final的修饰)。所有的返回会新创建一个String对象。所以使用String类来创建频繁的操作是不合理的。

  StringBuider:是长度可变的对象,继承于AbstractStringBuilder。可以动态添加数据,不需要新创建对象。

  StringBuider:是长度可变的线程安全对象,继承于AbstractStringBuilder。可以动态添加数据,不需要新创建对象。

  推荐使用下面两种来字符串拼接。避免产生过多的对象,JVM会消耗时间来GC。


2.final关键字

 1.final修饰的类不能被继承。

 2.final修饰的方法不能被重写。

 3.final修饰的变量不能被改变。

     第三点:final修饰的变量不能被改变的是对这个对象的引用地址,并不是对象的内容。

     例如:是不能实现的

 final String test = new String("test");
 test = new String("test1");

3. 循环里面不应该重复创建对象的引用

例如:

for (int i = 1; i <= count; i++)
{
    Object obj = new Object();    
}

这种做法会导致内存中有count份Object对象引用存在,count很大的话,就耗费内存了,建议为改为:

Object obj = null;
for (int i = 0; i <= count; i++)
{
    obj = new Object();
}

这样的话,内存中只有一份Object对象引用,每次new Object()的时候,Object对象引用指向不同的Object罢了,但是内存中只有一份,这样就大大节省了内存空间了。

4.采用懒加载策略,减少变量或者对象的创建

例如:

String test = "test";
if(i == 1){
  list.add(test);
}

建议:

if(i == 1){
  String test = "test";
  list.add(test);
}


猜你喜欢

转载自blog.csdn.net/qq_28126793/article/details/80262788