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大小,是不是后面一个比前面大呢?:)
查看全文
相关阅读:
LFU
poj 3581 -- 后缀数组
leetcode 679
poj 两条线段接雨水
poj 1696极角排序
判断平面上是否有一条直线与所有线段相交
洛谷P3808 【模板】AC自动机(简单版)
Most Distant Point from the Sea UVA
P2742 [USACO5.1]圈奶牛Fencing the Cows /【模板】二维凸包
P2249
原文地址:https://www.cnblogs.com/Samuel/p/7545.html
最新文章
[Luogu]P2182 翻硬币
[模拟赛]五子棋 题解
[模拟赛]戒指 题解
[Codeforces]Round 657 div2题解(A-D)
[Codeforces]Round 656 div3 题解(A-E)
[Nowcoder]牛客网周周练15
[Atcoder]AIsing Programming Contest 2020 Solutions(A-E)
[Luogu]P3694 邦邦的大合唱战队
[Luogu]P1095 守望者的逃离
P4309 [TJOI2013]最长上升子序列
热门文章
树状数组板子
Educational Codeforces Round 96 (Rated for Div. 2) D. String Deletion
树的重心及其性质
Codeforces Round #667 (Div. 3) 题解
loserTree实现多路合并
C++类内静态成员用法
UVA12545
UVA1610
UVA 1411
19年徐州E题--大数随机质因数分解
Copyright © 2011-2022 走看看