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大小,是不是后面一个比前面大呢?:)
查看全文
相关阅读:
HTB-靶机-Charon
第一篇Active Directory疑难解答概述(1)
Outlook Web App 客户端超时设置
【Troubleshooting Case】Exchange Server 组件状态应用排错?
【Troubleshooting Case】Unable to delete Exchange database?
Exchange Server 2007的即将生命周期,您的计划是?
"the hypervisor is not running" 故障
Exchange 2016 体系结构
USB PE
10 months then free? 10个月,然后自由
原文地址:https://www.cnblogs.com/Samuel/p/7545.html
最新文章
springcloud-stream之消费者模块
springcloud-stream之生产者模块
springcloud-stream设计思想
tomcat链接器的SSL配置属性
tomcat的APR链接器属性
tomcat中NIO、NIO2链接器的socket属性
tomcat通用Connector连接属性
tomcat基于NIO、NIO2、APR的http链接器支持的属性
Tomcat 安装 apr
Tomcat 代理支持
热门文章
tomcat的maxPostSize参数导致的错误
tomcat使用jsvc启动tomcat,关闭shutdown
HTB-靶机-Shocker
HTB-靶机-Kotarak
HTB-靶机-SolidState
HTB-靶机-Mirai
HTB-靶机-Apocalyst
HTB-靶机-Nineveh
HTB-靶机-Blocky
HTB-靶机-Jail
Copyright © 2011-2022 走看看