青鳥IT培訓:在asp.net中KindEditor編輯器的使用總結(jié)
北大青鳥新推出的ACCP課程是專業(yè)針對初中生的,開設的軟件課程有JAVA和.NET兩個方向的課程,今天就給大家介紹下在asp.net中KindEditor編輯器的一些使用方法總結(jié)。
CLR類型系統(tǒng)有兩種主要類型—Reference Type和ValueType。前者是在托管堆中被分配內(nèi)存并接受管理,后者則有兩種形態(tài)--裝箱與未裝箱,對于裝箱形態(tài)的值對象是在托管堆中,未裝箱形態(tài)的值對象是在棧上分配。
1、CLR堆上對象和棧上對象的差異
每一個堆上對象都有兩個額外的字段,一個是類型引用表的指針,用于實現(xiàn)多態(tài),類似于C++的多態(tài)機制,另一個字段是SyncBlockIndex,用于實現(xiàn)CLR線程同步機制。棧上對象則無這兩個字段。/
2、裝箱的過程
在堆上開辟內(nèi)存,包括2個額外字段+值對象大小。
將值對象復制過去
3.返回新分配對象的地址。
3、拆箱的過程
1.如果為null,跑出NullReferenceException
2.如果引用指向的不是一個期望對象的已裝箱對象,跑出InvalidCastException。
3.得到堆上引用對象中未裝箱對象的指針。
對比上述裝箱和拆箱的過程,可以看出兩者并非是互為反操作,拆箱過程本身并不涉及內(nèi)存操作,不會像裝箱那樣拷貝數(shù)據(jù),但是拆箱之后通常也還是要將值從堆上進行拷貝的棧上的。
性能差異
了解了裝箱和拆箱的操作,我們可以清楚的明白:裝箱操作會導致數(shù)據(jù)在堆和棧上進行拷貝,頻繁的裝箱操作會性能損失。而相比而言拆箱過程對性能損耗還是比較小的。發(fā)現(xiàn)代碼中的裝箱和拆箱操作:
1、Int32 a = 100;
object b = a;//(A)
a = (int)b;//(B)
(A)發(fā)生一次裝箱操作
(B)發(fā)生一次拆箱操作。
2、Point p = new Point(1,5);
Console.WriteLine(p.Clone());//(A)
var p2 = p as ICloneable;//(B)
var p3 = (Point)p2;//(C)
(A):Point重載了Clone()方法,所以這一步無需借助多態(tài),p本身不會被裝箱。但是要注意:Clone返回的是一個object,所以這一步會出現(xiàn)一個裝箱操作。
(B):會產(chǎn)生裝箱操作
(C):這一步會出現(xiàn)拆箱操作,并發(fā)生內(nèi)存拷貝(從托管堆上拷貝到棧上)。
使用ILDASM查看IL代碼
vs自帶的tools里提供了一個ILDASM的工具,能夠查看程序集的IL代碼。
在vs的命令行環(huán)境下(command prompt)執(zhí)行“ILDASM /adv”,/adv參數(shù)能開啟一些高級操作。打開一個未混效過的程序集,我們就能查看到其IL代碼,相信您能從中發(fā)現(xiàn)更多有趣的東西:)
以上就是.NET課程的相關(guān)知識,其實.NET就是一個系統(tǒng)平臺,借此平臺利用我們所掌握的語言,實現(xiàn)一定的功能需求就完成了一個項目,學習軟件也是非常輕松的事情,只要你有一定的計算機基礎就能輕松上手。想要學習的你就趕緊來河南北大青鳥鄭州網(wǎng)絡工程師培訓學校報名吧。
本文源自:http://www.n7362.cn 轉(zhuǎn)載請注明出處!
本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學習技巧、就業(yè)案例、招生詳情等問題,可以對在線咨詢老師進行一對一問答!
推薦資訊
- 鄭州北大青鳥電腦培訓:找回Win系... 2012-10-13
- 鄭州軟件工程培訓機構(gòu)哪家好?... 2023-07-28
- 鄭州北大青鳥翔天信鴿校區(qū)新班正... 2023-08-12
- 河南北大青鳥就業(yè)明星 楊丞琳... 2012-10-13
- 才畢業(yè)的計算機專業(yè)大學生如何選... 2019-12-31
熱點資訊
- 電腦溫度多少是正常的情況呢?... 2018-09-07
- 四個策略及簡單的防護方法... 2018-09-07
- 對硬盤進行雙分區(qū)有什么好處... 2018-09-07
- 文件加密的幾個簡單方法... 2018-09-07
- 計算機小技巧,80G硬盤巧變變成... 2018-09-07