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方法可以不用实例化调用而已。

 

static变量、static方法之间的异同的更多相关文章

  1. java static 变量,和方法从属于类

    第36集 java static 变量,和方法从属于类 可以用类来直接调用static属性和方法 static方法不能调用非静态的属性和方法,反之可以 new产生的对象,不包括static 属性和方法

  2. java执行程序的内存分析系列专栏二之static变量和方法内存分析

    昨天写了简单的聊了下java执行程序时简单的内存划分,今天我们接着往下聊,聊聊static变量和方法的内存分析. 1.static变量和方法的第一个特性内存分析 statiic变量和方法的第一个特性能 ...

  3. 转:Java中子类是否可以继承父类的static变量和方法而呈现多态特性

    原文地址:Java中子类是否可以继承父类的static变量和方法而呈现多态特性 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明 ...

  4. Java中子类是否可以继承父类的static变量和方法而呈现多态特性

    静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明为static的方法有以下几条限制: 它们仅能调用其他的static 方法. 它 ...

  5. java中static变量和方法的总结

    转自:http://blog.csdn.net/haobo920/article/details/5921621 java中static变量和方法的总结 java中一切皆是对象 一个类中对象的定义一般 ...

  6. PHP面向对象之旅:static变量与方法

    static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”. 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“ ...

  7. C# static 变量 和方法

    静态成员属于类所有,无认创建多少实例对象,静态成员在内存中只有一份:实例成员属于类的实例所有,每创建一个实例对象,实例成员都会在内存中分配一块内存区域. 就像图书馆的书,书的数量就是图书馆这个对象的静 ...

  8. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中st ...

  9. (转)static 变量

    一. static 变量 static变量大致分为三种用法1. 用于局部变量中,成为静态局部变量. 静态局部变量有两个用法,记忆功能和全局生存期.2. 用于全局变量,主要作用是限制此全局变量被其他的文 ...

随机推荐

  1. ES6中的let和const

    let和const let 用来声明变量,但是所声明的变量只在let命令所在的代码块内有效 { let a=12 alert(a)//12 } alert(a)//报错 找不到 let不像var那样会 ...

  2. 数据库 - MySQL - 总结

    总结: MySQL 表操作 - 练习题 多表查询 - 练习题 建表查询 - 作业

  3. Bone Collector II---hdu2639(01背包求第k优解)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2639求01背包的第k大解.合并两个有序序列 选取物品i,或不选.最终的结果,是我们能在O(1)的时间内 ...

  4. python定义函数时默认参数注意事项

    如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用, 如 def func(arg1=[]): arg1.append(2) 调用func时 ...

  5. list文档

    文档 class list(object): """ list() -> new empty list list(iterable) -> new list ...

  6. idea 常见问题

    1.idea控制台乱码 打开File->Settings->Editer->File Encoding,将IDE Encoding 和 Project Encoding 都改为UTF ...

  7. macOS 上安装 PECL

    一.简介 PECL(The PHP Extension Community Library)是 PHP 扩展的存储库,为 PHP 所有的扩展提供提供托管和下载服务. 通过 PEAR(PHP Exten ...

  8. 关于手机适配中的rem的学习随笔

    githup 下载地址 :https://github.com/comjustforfun/remformobile adaptivejs利用rem解决移动端页面开发的自适应问题 页面模板初始化的时候 ...

  9. Python函数参数*args和**kwargs

    1. Python中使用*args和**kwargs #!/usr/bin/env python3 # coding: utf-8 # File: args_kwargs_demo.py # Auth ...

  10. 【转帖】C++经典书籍汇总

    TCPL和D&E 1:Bjarne Stroustrup, The C++ Programming Language (Special 3rd Edition) <C++ 程序设计语言( ...