New 與 Dispose
Dim oEmp as ObjEmployee
oEmp = New ObjEmployee
Dim oEmp as ObjEmployee
oEmp = New ObjEmployee
而且少了New就不能執行,那麼什麼是New呢
New是產生執行個體,不過相信很多人又要問,什麼是【產生執行個體】 (能不能講明白一點啊!! )
這要提到電腦的程式運作過程。程式在電腦上跑,會把程式的區段,在記憶體裡面挖一塊空間,然後把程式碼載入那塊空間
接著程式在運作的時候,就是記憶體與CPU之間溝通、運算、記錄等動作,而把【挖塊記憶體,把程式載到那塊空間】這個過程就是【產生執行個體】。
因此沒有New的話會怎樣,程式區塊根本沒有載入到記憶體中,因此也無法運作執行
講的擬人化一點
Dim oEmp as ObjEmployee '宣告oEmp是ObjEmployee這種物件類別(此時有魂無體)
oEmp = New ObjEmployee '產生執行個體(此時投胎轉世,靈魂變成實體,可以開始工作)
什麼是Dispose
當一個物件已經使用完後,未來不會再使用,此時這個物件已經完成他這一生(New完之後到現在)的任務。因此他可以塵歸塵、土歸土...一切還諸天地...此時就進行Dispose
然而實際上,在記憶體中,當物件Dispose的時候,並沒有把該段記憶體清空,只是標註,這段空間不再使用,直到GC啟動把他清空才算真正的清空。
因此如果用完後,不進行Dispose...那麼就會等到該位置很久沒動作了(就像有個人躺在地上,已經超過一定時間(一個月??)沒動作,也沒呼吸),才會被其他的程式拿來用。
以上說明的是New(生)與Dispose(死)的關係
本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw
原文網址:http://bbs.flash2u.com.tw/dispbbs_58_85547_2.html
oEmp = New ObjEmployee
Dim oEmp as ObjEmployee
oEmp = New ObjEmployee
而且少了New就不能執行,那麼什麼是New呢
New是產生執行個體,不過相信很多人又要問,什麼是【產生執行個體】 (能不能講明白一點啊!! )
這要提到電腦的程式運作過程。程式在電腦上跑,會把程式的區段,在記憶體裡面挖一塊空間,然後把程式碼載入那塊空間
接著程式在運作的時候,就是記憶體與CPU之間溝通、運算、記錄等動作,而把【挖塊記憶體,把程式載到那塊空間】這個過程就是【產生執行個體】。
因此沒有New的話會怎樣,程式區塊根本沒有載入到記憶體中,因此也無法運作執行
講的擬人化一點
Dim oEmp as ObjEmployee '宣告oEmp是ObjEmployee這種物件類別(此時有魂無體)
oEmp = New ObjEmployee '產生執行個體(此時投胎轉世,靈魂變成實體,可以開始工作)
什麼是Dispose
當一個物件已經使用完後,未來不會再使用,此時這個物件已經完成他這一生(New完之後到現在)的任務。因此他可以塵歸塵、土歸土...一切還諸天地...此時就進行Dispose
然而實際上,在記憶體中,當物件Dispose的時候,並沒有把該段記憶體清空,只是標註,這段空間不再使用,直到GC啟動把他清空才算真正的清空。
因此如果用完後,不進行Dispose...那麼就會等到該位置很久沒動作了(就像有個人躺在地上,已經超過一定時間(一個月??)沒動作,也沒呼吸),才會被其他的程式拿來用。
以上說明的是New(生)與Dispose(死)的關係
本文章來自於神魂顛倒論壇 http://bbs.flash2u.com.tw
原文網址:http://bbs.flash2u.com.tw/dispbbs_58_85547_2.html
留言