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大小,是不是后面一个比前面大呢?:)
查看全文
相关阅读:
内置函数详解
lambda函数
第八章(5)
第八章(4)
第八章(3)
第八章(2)
第八章(1)
第七章(3)
第七章(2)
第七章(1)
原文地址:https://www.cnblogs.com/Samuel/p/7545.html
最新文章
Zabbix 中使用 Percona Monitoring Plugins 监控 MySQL
MySQL Group Replication 动态添加成员节点
算法基础
websocket握手原理及简单的网页聊天室
Tornado异步非阻塞及自定义异步非阻塞
基于Tornado自定制仿Django的Session以及Form组件
Django仿Admin定制插件(一)
Django内置Admin
异步非阻塞
爬虫之Scrapy
热门文章
爬虫基础
Pandas模块
模块
面向对象进阶
反射
特性(property)
面向对象编程(三)
面向编程(二)继承
面向对象的程序设计
递归,二分法
Copyright © 2011-2022 走看看