日期:2014-05-20  浏览次数:20847 次

系统最常用的函数定义成static函数会否提高效率?
把系统中最常用的函数定义成static函数与定义成非static函数相比是会否提高效率?   这种做法是否好的做法?


------解决方案--------------------
是的
------解决方案--------------------
编译器会关闭static方法的动态绑定,这样就能生成效率稍微高一些的代码。但是在绝大多数情况下这么做并不会对程序的总体性能有大的提高。
------解决方案--------------------
static方法在类被加载的时候就会执行 而且只执行一次 static方法独立于对象存在 没有对象也可执行 可以用 类名.方法名 进行调用~
------解决方案--------------------
一般公共模块的函数好像都是static
------解决方案--------------------
程序中尽量少用静态域和方法,只有你确定一些要频繁使用的属性或方法时 才考虑使用之。

用多了有可能降低

4) 静态存储。这儿的“静态”(Static)是指“位于固定位置”(尽管也在RAM里)。程序运行期间,静态存储的数据将随时等候调用。可用static关键字指出一个对象的特定元素是静态的。但Java对象本身永远都不会置入静态存储空间。

------解决方案--------------------
经常用的还是可以考虑的
------解决方案--------------------
增加内存 提高效率
以空间换时间
但是 不是所有的方法都要声明成static 提高了效率 失去了OO
------解决方案--------------------
两个方面,一个static创建后一般不会被gc,所以少了new 这样一个操作,new操作是比较耗费资源的。另一个方面,因为不会被gc,内存就不会给释放,不小心还可能会内存泄露。
------解决方案--------------------
增加内存占用
------解决方案--------------------
理论上可以有性能提高

不过恕我直言, 如果你的项目需要通过这种方法来提高性能, 那我只能说是本末倒置了...
------解决方案--------------------
以空间换时间

------解决方案--------------------
会,但不一定是好的方法