A页面:定义一个普通类,类包含一个静态变量a,值为:111111111111111111

B页面:修改a的值为:22222222222222

C页面:用来查看a的值

1.在vs2008中,先打开B,再打开C,C显示a的值为:222222222222222

就算用ie打开B,用chrome打开C,C仍然显示为:22222222222222,证明与客户端无关;

2.在IIS中,直接打开C,显示为:11111111111111111

证明静态变量的值与服务器有关

3.在IIS中,先打开B,再打开C,C显示a的值为:222222222222222

重启IIS,再打开C,C显示为:11111111111111111,证明服务器生命到期,静态变量也跟着死掉掉~

4.在IIS中,打开B,在虚拟机中,打开宿主机IIS的C,显示为:222222222222222

再次证明与客户端无关,即在实际使用中,不同客户端用户使用的是同一个变量值。

花了2个小时实验出来的,记录一下,要不然过不了一两个月,就只有上帝记得这次的实验结果了。

=================================================

PS:顺便也测试了一下多线程thread

同时用IE和chrome打开,日志记录为:

2014-10-30 14:27:11: 子线程:2014-10-30 14:27:11
====================================================
2014-10-30 14:27:12: 子线程:2014-10-30 14:27:12
====================================================

证明不同请求,线程间无任何关联,更谈不上互斥。

 public partial class test_testThread : System.Web.UI.Page
{
private Object thisLock = new Object();
public string str = string.Empty; protected void Page_Load(object sender, EventArgs e)
{
Thread xThread1 = new Thread(new ThreadStart(this.threadFun));
xThread1.Start();
} private void threadFun()
{
lock (thisLock)
{
string nowTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
WriteLog("子线程:" + nowTime);
Thread.Sleep();
}
} private void WriteLog(string sLog)
{
sLog += "\n====================================================";
string sFileName = "testThread_" + DateTime.Now.ToString("yyyy-MM-dd_") + ".txt";
string sFileFullPath = AppDomain.CurrentDomain.BaseDirectory + "test\\" + sFileName;
System.IO.StreamWriter sw = System.IO.File.AppendText(sFileFullPath);
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") + sLog);
sw.Close();
}

static变量生命周期小研究的更多相关文章

  1. java 静态变量生命周期(类生命周期)

    Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...

  2. java 静态变量生命周期(类生命周期)(转)

    Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...

  3. 探讨C++ 变量生命周期、栈分配方式、类内存布局、Debug和Release程序的区别

    探讨C++ 变量生命周期.栈分配方式.类内存布局.Debug和Release程序的区别(一) 今天看博客园的文章,发现博问栏目中有一个网友的问题挺有趣的,就点进去看了下,标题是“C++生存期问题”,给 ...

  4. Spark Streaming源码解读之生成全生命周期彻底研究与思考

    本期内容 : DStream与RDD关系彻底研究 Streaming中RDD的生成彻底研究 问题的提出 : 1. RDD是怎么生成的,依靠什么生成 2.执行时是否与Spark Core上的RDD执行有 ...

  5. 微信小程序生命周期——小程序的生命周期及页面的生命周期。

    最近在做微信小程序开发,也发现一些坑,分享一下自己踩过的坑. 生命周期是指一个小程序从创建到销毁的一系列过程. 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面. 首先来 ...

  6. Spark Streaming源码解读之流数据不断接收和全生命周期彻底研究和思考

    本节的主要内容: 一.数据接受架构和设计模式 二.接受数据的源码解读 Spark Streaming不断持续的接收数据,具有Receiver的Spark 应用程序的考虑. Receiver和Drive ...

  7. [shell] shell 变量生命周期, source, export

    1. shell 的派生 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令, 或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序 ...

  8. 【linux】环境变量生命周期的操作方式

    目录 前言 1. 修改环境变量 1.1 手动指定 1.2 临时生效 1.3 永久生效 链接 前言 参考: 李柱明博客 本文主要记录 linux 环境变量配置的生命周期. 如,修改环境变量 PATH 是 ...

  9. vue生命周期小笔记

    一张图谨记vue每个生命周期的获取状态 beforecreate :可以在这加个loading事件 created :在这结束loading,还做一些初始化,实现函数自执行 mounted : 在这发 ...

随机推荐

  1. 浅析基于AXIS框架的WebService

    一.写在前面 之前做项目用到了基于Axis的WebService,为了更进一步的理解和记忆,在这里通过代码实践和源码分析来完整的做一遍Axis的WebService以及对应的客户端调用实践,并和其它的 ...

  2. (最小生成树) Jungle Roads -- POJ -- 1251

    链接: http://poj.org/problem?id=1251 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2177 ...

  3. poj3321-Apple Tree(DFS序+树状数组)

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 36442   Accepted: 10894 Desc ...

  4. handsontable 问题

    碰到问题了,去官网上找community:http://docs.handsontable.com/0.16.1/tutorial-quick-start.html 1. 描述:把handson ta ...

  5. Python学习-20.Python的Urllib模块

    除了 Http 模块可以模拟 Http 请求外,使用 Urllib 模块也是可以模拟 Http 请求的,只不过功能相对弱一点. import urllib.request opener = urlli ...

  6. Microsoft Sql Server 2016安装在CentOS7下

    安装过程 如何安装直接参考这个文章:安装sql server 整个安装过程非常简单. 上面的文档里是通过 sudo 命令,用root身份来执行,不过这里为了简单,就用root账号来安装的. (1)下载 ...

  7. C#开发微信小程序

    个人见解,欢迎交流,不喜勿喷.   微信小程序相比于微信公众号的开发,区别在于微信小程序只请求第三方的数据,整个界面的交互(view)还是在微信小程序上实现,前后端完全分离,说白了,微信小程序开发与具 ...

  8. BitAdminCore框架更新日志20180531

    索引 NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/coo ...

  9. DataAnnotations 验证

    转自:http://blog.sina.com.cn/s/blog_c21a857b0102wcus.html 常用的 DataAnnotations 1.Required :属性值必须非空或者不能只 ...

  10. Reddit CEO亲自诠释内容审核的无奈

    本文由  网易云发布. 导语:继数据泄露危机之后,Facebook将会雇用数千名新员工来负责新的验证系统,这个系统将首先在美国广告客户中生效,并将在未来几个月内涵盖其他国家.与此同时,如何让自己的社区 ...