Java教程

婚恋系统源码,系统优化是保证性能的基础

本文主要是介绍婚恋系统源码,系统优化是保证性能的基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

优化的本质

婚恋系统源码优化的目的是在于保障程序的健壮性,当程序能够正常运行时,有时候也没有必要花费太多时间。

循环优化

看一个例子,请大家注意这样的代码,婚恋系统源码在循转中调用了方法,所以getList()会执行多遍,带来性能上的损耗。

public static void main(String[] args) {
        for (int i = 0; i < getList().size(); i++) {

        }
    }

    public static List<String> getList() {
        System.out.println("test");
        List<String> stringList = new ArrayList<>();
        stringList.add("1");
        stringList.add("2");
        stringList.add("3");
        return stringList;
    }

即使个将getList()作为临时变量存储起来,依旧会多次执行size()方法,错误例子比如

 public static void main(String[] args) {
        List<String> list = getList();
        for (int i = 0; i < list.size(); i++) {

        }
    }

所以婚恋系统源码正确的执行方法是

 public static void main(String[] args) {
        for (int i = 0, size = getList().size(); i < size; i++) {

        }
    }

上诉的例子验证了一个观点

永远不要在for循环的第二个参数使用方法调用

尽量使用局部变量

婚恋系统源码的局部变量在使用完时,就处于不可视阶段,垃圾回收机制也会尽快的回收它们。

使用StringBuilder和StringBuffer代替String

虽然这三个对象都可以实现拼接字符串的功能,但是它们会有很大的性能顺序之分,因为String本身是存在常量池中,它对的任何改变都不影响到原对象,相关的任何改变都会生成新的对象。

来看看它们三者的区别。

  • StringBuilder是非同步的、线程不安全的,效率最高。
  • StringBuffer是线程安全,效率低于StringBuilder,多线程中操作不需要另外加锁;
  • String存储于常量池,效率最慢,频繁的改变不可取。

来验证一下它们的效率。

public static void main(String[] args) {
        long times = System.currentTimeMillis();
        String string = "";
        for (int i = 0; i < 10000; i++) {
            string = string + "a";
        }
        System.out.println("间隔:" + (System.currentTimeMillis() - times)); // 304
    }
public static void main(String[] args) {
        long times = System.currentTimeMillis();
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < 10000; i++) {
            stringBuffer.append("a");
        }
        System.out.println("间隔:" + (System.currentTimeMillis() - times)); // 20
    }
 public static void main(String[] args) {
        long times = System.currentTimeMillis();
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < 10000; i++) {
            stringBuilder.append("a");
        }
        System.out.println("间隔:" + (System.currentTimeMillis() - times)); // 15
    }

我尝试一万次的拼接字符串,从结论看出,StringBuild 和 String 相比,差距巨大。

及时释放对象

其实回收机制会自动回收一些婚恋系统源码不再使用的对象,一般情况下,我们不用手动回收,我们只能建议/提醒它回收。 什么意思呢?

就是我们将Null赋值给这个对象即可。

if(obj == null)
create obj;
...
obj = null;

以上,就是婚恋系统源码可以优化的地方。
声明:本文由云豹科技转发自Android唐浮博客,如有侵权请联系作者删除

这篇关于婚恋系统源码,系统优化是保证性能的基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!