美文网首页Java学习笔记
避免创建不必要的“大”对象

避免创建不必要的“大”对象

作者: W_Honor | 来源:发表于2017-05-23 17:20 被阅读22次

    关键点一

    在编码过程中,最好是能重用已经建立的对象,而不是每次用到都要新建对象。在这里重用是指对象是不可变的,那就可以直接反复调用。

    举一个错误的例子:

    String s = new String("word");
    

    系统在每次调用该语句的时候都会创建一个对象,而“word”本身就是一个对象实例,没必要再以这种形式定义了。其实这是画蛇添足的表现。只需要如下形式便可以:

    String s = "word";
    

    程序凡是运行在同一台虚拟机中,遇到相同的字符集都会调用它,并不会新建对象。

    关键点二

    在此之前我们先来巩固一下装箱和拆箱的概念。

    装箱:数据基本类型转换成对象类型的操作;
    拆箱:是装箱的逆过程。

    自动装箱和自动拆箱就是上述过程的隐式操作。

    举两个简单的例子:

      Integer i = 10;//自动装箱
      int t = i; //拆箱,实际上执行了 int t = i.intValue();
    

    明白两个基本的概念后,我们再来看下面。
    对于同时提供了静态工厂方法和构造器的不可变类,通常是使用静态工厂方法而不是构造器,这样便可避免不必要的对象建立。
    在JDK1.5中引入了自动装箱的概念,这一机制可以创建多余的对象,所以要避免运用装箱类型。

    关键点三

    千万不要错误地认为,要尽量少得创建对象。JVM可以方便地回收一些小对象,它们并不影响系统的性能,反而会改善程序的简洁性、清晰性,让别人更容易理解。对于像数据库连接池这样珍贵的资源,我们要小心地创建新的对象。

    相关文章

      网友评论

        本文标题:避免创建不必要的“大”对象

        本文链接:https://www.haomeiwen.com/subject/mcmixxtx.html