静态方法的好处是不用实例化,调用方便,运行速度快,但是占用内存,程序运行就会开辟内存空间放静态成员.显然吃太多内存是件很不爽的事情,那应该建立个怎么样的原则来使用静态方法呢,什么情况下用静态方法?
同时win和web下静态方法又有微妙的区别.win下是单发,web是并发系统.我的理解是win用多了静态方法会浪费内存,而web下多用静态方法比不停的实例化来的更省服务器内存.非静态方法的会N个用户同时使用就会消耗A*NM的内存,而静态的话则始终是消耗AM内存.
理解对吗?
5 个解决方案
#1
web下多用静态方法比不停的实例化来的更省服务器内存
要看情况而定,关注牛人的说法
要看情况而定,关注牛人的说法
#2
http://msdn.microsoft.com/zh-cn/library/98f28cdx(VS.80).aspx
static关键字详解
static关键字详解
#3
杯具。。。
#4
应该注意 垃圾回收。
#5
声明为static的字段、属性类型本身,而不属于任何一个实例。所以,在内存中永远只会存在一份。
而声明为static的方法是不能操作类内部非static的变量的,、。
所以无论是Web还是WinForm,都能起到节省内存的作用。
当然,使用的时候一定要注意。比如你在一个类A里面定义了一个static的变量int a = 0;
在类B里面通过 A.a = 1;修改了值,
那么你在类C里面调用的时候A.a == 1 而不是 A.a == 0
而声明为static的方法是不能操作类内部非static的变量的,、。
所以无论是Web还是WinForm,都能起到节省内存的作用。
当然,使用的时候一定要注意。比如你在一个类A里面定义了一个static的变量int a = 0;
在类B里面通过 A.a = 1;修改了值,
那么你在类C里面调用的时候A.a == 1 而不是 A.a == 0
#1
web下多用静态方法比不停的实例化来的更省服务器内存
要看情况而定,关注牛人的说法
要看情况而定,关注牛人的说法
#2
http://msdn.microsoft.com/zh-cn/library/98f28cdx(VS.80).aspx
static关键字详解
static关键字详解
#3
杯具。。。
#4
应该注意 垃圾回收。
#5
声明为static的字段、属性类型本身,而不属于任何一个实例。所以,在内存中永远只会存在一份。
而声明为static的方法是不能操作类内部非static的变量的,、。
所以无论是Web还是WinForm,都能起到节省内存的作用。
当然,使用的时候一定要注意。比如你在一个类A里面定义了一个static的变量int a = 0;
在类B里面通过 A.a = 1;修改了值,
那么你在类C里面调用的时候A.a == 1 而不是 A.a == 0
而声明为static的方法是不能操作类内部非static的变量的,、。
所以无论是Web还是WinForm,都能起到节省内存的作用。
当然,使用的时候一定要注意。比如你在一个类A里面定义了一个static的变量int a = 0;
在类B里面通过 A.a = 1;修改了值,
那么你在类C里面调用的时候A.a == 1 而不是 A.a == 0