zoukankan
html css js c++ java
ASP.NET中的Static变量
今天在看到
禁止在页面中使用static变量
一文及其评论中关于对ASP.NET中static变量的探讨,觉得并没有涉及static的实质 — 什么是static。
ASP.NET和C++中的static并没有多少不同,实质上他们都是在编译期就已存在的地址空间。换句话说,在你Build成功之后,项目的DLL文件中已经存在了这个static变量(或者类)的空间,亦即在你运行时系统载入DLL后这个变量/类的所谓实例已经存在,而且是应用程序所公用,所以你才可以直接使用,
同时所有的页面用的都是同一块空间
。
普通的类你需要new一个instance才可以使用,原因就在于应用程序中间只有声明而没有定义,new的时候就在堆里划分一块空间给他的一个实例。
一个简单的实验,大家就很容易的明白他们之间的区别:新建个简单的project,添加一个类,类增加一个变量,编译,记录dll文件的大小;然后把变量变成static的(当然你的class也必须成为static的了,想想这是为什么),编译,记录dll文件大小;比较两个dll大小,是不是后面一个比前面大呢?:)
查看全文
相关阅读:
java Des 加密解密技术
JAVA处理外部链接的方法
javascript 中escape、encodeURI、encodeURIComponent 区别
JQuery与JS 遍历和操作 父页面控件的比较
JS 添加删除元素 /DOM
jquery 验证所有text,textare非法字符
jquery url检测遇到的jquery跨域问题及JSONP的使用
二叉树遍历非递归算法——后序遍历
二叉树遍历非递归算法——中序遍历
二叉树遍历非递归算法——先序遍历
原文地址:https://www.cnblogs.com/Samuel/p/7545.html
最新文章
tomcat7 的The Apache Tomcat Native library which allows optimal performance 的解决
Java UUID Generator(JUG)
Illegal access:this web application instance has been stopped already
Invalid MyEclipse License
为什么要在.Net Core中使用MediatR library?
Let’s Encrypt 项目计划自动化地提供免费的 CA 证书
论C#逼格手册
这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)
Entity Framework where语句起作用的真正用法
ASP.NET Page_Load执行两次
热门文章
手机端页面翻屏
手机项目常用知识小记
报销差率费与会计借贷理解
JCO使用BAPI_MATERIAL_SAVEDATA,下列程序是否有误!!
JCO 连接SAP
java远程访问Domino数据库
js求时间差
js 将阿拉伯数字翻译成中文的大写数字
jquery 追加tr和删除tr
用$(window).load(function(){...})而不用body.onload()的几个理由
Copyright © 2011-2022 走看看