静态类,静态变量被回收??
有一个这样的类:
public class ConfigUtil
{
public static int count=0;
public ConfigUtil()
{
count++;//不用解释吧?每次new ConfigUtil,count变量将累加1
}
}
用网页来调用上面的静态变量:
protected void Page_Load(object sender, EventArgs e)
{
ConfigUtil c = new ConfigUtil();
Response.Write(ConfigUtil.count + "<br/>");
ConfigUtil C2 = new ConfigUtil();
Response.Write(ConfigUtil.count+ "<br/>");
}
结果输出是:
1
2
看起来好像没错,该静态变量count实现了累加效果
但是当你再用同样网址运行一下,或者把刷新一下页面,结果显示还是1和2
问题就是:count该变量是静态变量,是永久放在内存中,如果有很多用户访问该网页,该变量应该会一直累加,
也就是说可以达到统计访问该网页的次数,但是事实上没有达到预期的效果,一个用户访问完了该变量就被会回收了,下一个用户访问count变量又重新开始初始化,郁闷啊...