C#實(shí)例化和靜態(tài)類對(duì)象調(diào)用對(duì)比
前言:
在編程時(shí),什么時(shí)候用實(shí)例化對(duì)象,什么時(shí)候用靜態(tài)類對(duì)象,這個(gè)值得我們思考,它們之間所占的內(nèi)存和生命周期又是如何,框架本身的回收機(jī)制是什么
1、對(duì)比效果
實(shí)例化對(duì)象不斷調(diào)用多少次,都會(huì)重新初始化值調(diào)用,說明實(shí)例化對(duì)象的生命周期是調(diào)用完成后就結(jié)束
靜態(tài)類對(duì)象,靜態(tài)類下的靜態(tài)成員會(huì)一直占用在內(nèi)存且只實(shí)例化一次,說明靜態(tài)類成員的生命周期是從調(diào)用到程序結(jié)束或機(jī)制回收
場(chǎng)景使用:
- 1)靜態(tài)類或成員:數(shù)據(jù)庫連接字符串,可以定義為靜態(tài),調(diào)用和獲取比較頻繁
- 2)實(shí)例化:登錄操作,一般登錄操作不會(huì)太頻繁



- 重新啟動(dòng)對(duì)應(yīng)的IIS站點(diǎn)
在不停的刷新某一個(gè)頁面時(shí),內(nèi)存是按規(guī)律的0.1MB增加 ,刷新到一定次數(shù)后,內(nèi)存沒有明顯的增加,甚至是不變,下圖的.NET Core Host進(jìn)程有兩個(gè),是指兩個(gè)站點(diǎn),且有被外部或內(nèi)部在調(diào)用,否則是不顯示狀態(tài)


2、實(shí)例化代碼
public string init = "實(shí)例化:hello";
public bool flag = false;
public int num = 0;
public void Test(string one)
{
string test = "";
if (!flag)
{
flag = true;
num += 1;
test = "【首次輸出】" + init + one + num;
}
else
{
num += 1;
test = init + one + num;
}
LmyLogHelper.Debug(test);
}3、靜態(tài)類代碼
public static string init = "靜態(tài)式:hello";
public static bool flag = false;
public static int num = 0;
public static void Test(string one)
{
string test = "";
if (!flag)
{
flag = true;
num += 1;
test = "【首次輸出】" + init + one + num;
}
else
{
num += 1;
test = init + one + num;
}
LmyLogHelper.Debug(test);
}到此這篇關(guān)于C#實(shí)例化和靜態(tài)類對(duì)象調(diào)用對(duì)比的文章就介紹到這了,更多相關(guān)C#實(shí)例化和靜態(tài)類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#中累加器函數(shù)Aggregate用法實(shí)例
這篇文章主要介紹了C#中累加器函數(shù)Aggregate用法,實(shí)例分析了C#中累加器的實(shí)現(xiàn)與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
c#實(shí)現(xiàn)51單片機(jī)頻率計(jì)的代碼分享(數(shù)字頻率計(jì)設(shè)計(jì))
c#實(shí)現(xiàn)51單片機(jī)頻率計(jì)的代碼分享,大家參考使用吧2013-12-12
C#通過cmd調(diào)用7z軟件實(shí)現(xiàn)壓縮和解壓文件
這篇文章介紹了C#通過cmd調(diào)用7z軟件實(shí)現(xiàn)壓縮和解壓文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
利用C#實(shí)現(xiàn)HTML模板的循環(huán)輸出
模板循環(huán)輸出 ,是指使用 UI 前端設(shè)計(jì)的 HTML 模板片斷,并結(jié)合數(shù)據(jù)記錄進(jìn)行循環(huán)輸出的過程,本文將介紹如何中通過 C# 實(shí)現(xiàn)操作 HTML 模板的循環(huán)輸出,文章通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-06-06

