private SchemeBean getEmptyScheme() {
        SchemeBean scheme = new SchemeBean();
        scheme.setCost("");
        scheme.setDuration("");
        scheme.setNightflag("");
        scheme.setWalkingDistance("");
        return scheme;
    }

 

一个简单的这样的方法,完全可以写成static类型。线程也安全,那static方法,到底会不会有性能提升?是不是static方法,在class实例化的时候,就不用跟static类变量似的,不用每次都加载了?

以下是我自己思考的结果,不一定对:

static变量,肯定是在perm存一份。没线程安全问题的情况下,用static肯定会比不用好。

static方法,肯定也是在perm中存一份。不是每次类实例化的时候加载方法,方法不跟变量一样,方法只会存一份在perm,实例化的时候,非static变量会在线程栈中存一份。但是方法不一样,非static和static都是一样执行,从perm中copy出来到线程栈,然后运行。

 

所以在存储和效率上,static方法和非static,一点不同都没有。只是static方法可以不用实例化调用而已。

 

相关文章:

  • 2021-10-06
  • 2021-05-24
  • 2021-08-19
  • 2022-03-01
  • 2021-08-18
  • 2021-10-16
  • 2021-06-06
猜你喜欢
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
  • 2021-09-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案