成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

快速了解VB.NET垃圾收集器

開發(fā) 后端
這里介紹在VB.NET垃圾收集器釋放某個(gè)對(duì)象之前,首先調(diào)用該對(duì)象的finalize方法,根據(jù)處理的不同,有時(shí)從程序中止使用某個(gè)對(duì)象到某個(gè)對(duì)象的finalize方法運(yùn)行之間時(shí)間很長。

VB.NET還是比較常用的,于是我研究了一下VB.NET垃圾收集器,在這里拿出來和大家分享一下,希望對(duì)大家有用。每當(dāng)創(chuàng)建類的實(shí)例時(shí),如果該對(duì)象中存在名為 New 的過程,則公共語言運(yùn)行庫 (CLR) 嘗試執(zhí)行它。New 是一種稱為“構(gòu)造函數(shù)”的過程,該構(gòu)造函數(shù)用于在對(duì)象中的任何其他代碼執(zhí)行之前初始化新對(duì)象。New 構(gòu)造函數(shù)可用于打開文件、連接到數(shù)據(jù)庫、初始化變量以及處理任何需要在可使用對(duì)象前完成的其他任務(wù)。

當(dāng)創(chuàng)建派生類的實(shí)例時(shí),基類的 Sub New 構(gòu)造函數(shù)首先執(zhí)行,然后執(zhí)行派生類中的構(gòu)造函數(shù)。這是因?yàn)?Sub New 構(gòu)造函數(shù)中的第一行代碼使用語法 MyBase.New() 調(diào)用類層次結(jié)構(gòu)中該類本身緊上面的類的構(gòu)造函數(shù)。然后調(diào)用該類層次結(jié)構(gòu)中每個(gè)類的 Sub New 構(gòu)造函數(shù),直到到達(dá)基類的構(gòu)造函數(shù)。此時(shí),基類構(gòu)造函數(shù)中的代碼執(zhí)行,接著執(zhí)行所有派生類中每個(gè)構(gòu)造函數(shù)的代碼,最后執(zhí)行最相近派生的類中的代碼。

當(dāng)不再需要某對(duì)象時(shí),CLR 調(diào)用該對(duì)象的 Finalize 方法,然后釋放其內(nèi)存。Finalize 方法稱為“析構(gòu)函數(shù)”,因?yàn)樗鼒?zhí)行清理任務(wù),如保存狀態(tài)信息、關(guān)閉文件和與數(shù)據(jù)庫的連接,以及執(zhí)行在釋放對(duì)象前必須完成的其他任務(wù)。

當(dāng)調(diào)用派生類的 Sub Finalize 方法時(shí),首先執(zhí)行所需的任何清理任務(wù),然后使用語法 MyBase.Finalize() 顯式調(diào)用其基類的 Sub Finalize 方法。因此,Sub Finalize 方法首先從最相近派生的類開始運(yùn)行,最后執(zhí)行基類中的代碼。

一旦涉及到finalize方法,垃圾收集器就不能不提到,在.net環(huán)境中,由垃圾收集器來管理內(nèi)存,在VB.NET垃圾收集器告訴你的程序不在需要使用某個(gè)對(duì)象的方法是把對(duì)象設(shè)置為nothing,如下:

  1. employee=nothing 

在VB.NET垃圾收集器釋放某個(gè)對(duì)象之前,首先調(diào)用該對(duì)象的finalize方法,根據(jù)處理的不同,有時(shí)從程序中止使用某個(gè)對(duì)象到某個(gè)對(duì)象的finalize方法運(yùn)行之間時(shí)間很長,在這種情況下可以在類里放一個(gè)dispose的專門方法,用這個(gè)方法執(zhí)行對(duì)廢棄對(duì)象的處理,當(dāng)某個(gè)對(duì)象的內(nèi)容不需要使用時(shí),調(diào)用 dispose方法,程序立即執(zhí)行對(duì)象的清理處理,仔細(xì)觀察vs生成的窗口代碼,也會(huì)發(fā)現(xiàn)dispose方法的代碼,如下:

  1. Public Sub New()  
  2. MyBase.New()  
  3.  
  4. '該調(diào)用是 Windows 窗體設(shè)計(jì)器所必需的。  
  5. InitializeComponent()  
  6.  
  7. '在 InitializeComponent() 調(diào)用之后添加任何初始化  
  8.  
  9. End Sub  
  10.  
  11. '窗體重寫 dispose 以清理組件列表。  
  12. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)  
  13. If disposing Then  
  14. If Not (components Is Nothing) Then  
  15. components.Dispose()  
  16. End If  
  17. End If  
  18. MyBase.Dispose(disposing)  
  19. End Sub 

我們只需要把dispose進(jìn)行調(diào)用就可以了:someclass.dispose

【編輯推薦】

  1. 對(duì)VB.NET OBEX協(xié)議的簡單概括
  2. 寶典之初步了解VB.NET Web app
  3. 深入概括VB.NET實(shí)現(xiàn)IEnumerator接口
  4. 三分鐘掌握VB.NET操作MySql數(shù)據(jù)庫
  5. 三步了解VB.NET串口通訊如何發(fā)送接收數(shù)據(jù)
責(zé)任編輯:佚名 來源: 新浪博客
相關(guān)推薦

2009-10-30 13:31:06

VB.NET名空間

2009-10-28 13:23:52

VB.NET可選參數(shù)

2009-10-09 16:11:33

VB.NET語法

2009-10-29 14:04:48

VB.NET Deri

2009-11-02 10:42:04

VB.NET EXCE

2009-11-02 13:54:27

VB.NET shel

2009-10-28 15:01:59

VB.NET SHEL

2009-11-02 12:35:10

VB.NET追加文件

2009-11-03 10:09:48

VB.NET對(duì)象

2009-11-03 13:54:55

VB.NET繼承

2009-10-29 14:22:59

VB.NET集合存儲(chǔ)

2009-11-03 13:33:39

VB.NET對(duì)象列表

2009-11-02 09:43:01

VB.NET構(gòu)造函數(shù)

2009-10-09 16:00:34

VB6.0開發(fā)

2009-11-02 17:54:44

VB.NET數(shù)組

2009-11-02 15:49:23

VB.NET顯示系統(tǒng)信

2009-10-21 09:40:23

VB.NET搜索

2009-11-10 16:55:05

VB.NET調(diào)用API

2009-11-02 17:24:57

VB.NET語言

2009-10-23 11:33:52

VB.NET集成開發(fā)環(huán)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品国产成人国产三级 | 欧美二三区 | 久久久夜夜夜 | 日韩三级在线观看 | 一区二区三区视频在线观看 | 国产视频福利 | 国产成都精品91一区二区三 | yiren22综合网成人 | 91亚洲一区| 天天操天天插 | 一区二区三区中文字幕 | 91天堂网| 欧美xxxx黑人又粗又长 | 成人天堂噜噜噜 | 成人午夜精品一区二区三区 | 日韩国产三区 | 亚洲美女一区二区三区 | 日本一区二区在线视频 | 在线视频一区二区 | 免费国产精品久久久久久 | 99视频在线免费观看 | 久久久久久久久久一区二区 | 国产成人精品综合 | 九九av | 国产午夜精品理论片a大结局 | 黄色一级片视频 | 在线观看亚洲欧美 | 国产一区二区三区 | 成人在线免费电影 | 国产精品久久久久久久久久软件 | 午夜伦理影院 | 天天艹 | av免费网站在线观看 | 看av片网站 | 国产亚洲精品久久久久动 | 性高湖久久久久久久久3小时 | 特a毛片 | 男女视频在线观看网站 | 国精品一区 | 欧美日韩一区二区三区视频 | 欧美一区中文字幕 |