[英]ASP.NET garbage collection: is referencing static class property dangerous?
假設包含以下屬性的“ MyModel”類:
public List ListOfAlbumsTitles => AlbumsHelper.ListOfAlbumsTitles;
AlbumsHelper
是一個靜態類。 這是否意味着由於引用靜態類屬性而不會自動收集MyModel的對象?
不, MyModel
實例將被處以罰款。 MyModel
存儲的是對其他地方(即在AlbumsHelper
)正在使用的東西的引用。
參考是涉及垃圾收集的單向方法。 因此,只要Bar
生存,從Foo
到Bar
的引用將使Foo
保持生命。 反之亦然。
反之亦然。
只要沒有對該對象的引用,便可以收集任何對象 。 傳出引用與對象壽命無關。
想象一下,如果不是這種情況會發生什么—垃圾收集器永遠無法收集任何不為null
東西–將其對其他對象的所有引用都刪除掉。 那不是很有用。
不,邏輯是相反的,如果AlbumsHelper不是靜態類,則此分配將阻止對其進行收集。 但是因為類是靜態的,所以沒有關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.