Mega Code Archive

 
Categories / VB.Net / Development
 

Request garbage collection

Imports System Public Class MainClass     Shared Sub Main(ByVal args As String())       Console.WriteLine("Students before instantiation: " & Student.Count)       Dim student1 As Student = New Student("A", "B")       Dim student2 As Student = New Student("C", "D")       ' output of student2 after instantiation       Console.WriteLine("Students after instantiation: " & vbCrLf & _          "via Student.Count: " & Student.Count)       ' display name of first and second student       Console.WriteLine(vbCrLf & "Students 1: " & _          student1.FirstName & " " & student1.LastName & _          vbCrLf & "Student 2: " & student2.FirstName & " " & _          student2.LastName)       ' mark student1 and student2 for garbage collection       student1 = Nothing       student2 = Nothing       System.GC.Collect() ' request garbage collection            End Sub End Class ' Class Student uses Shared variable. Class Student    Inherits Object    Private mFirstName As String    Private mLastName As String    ' number of objects in memory    Private Shared mCount As Integer    ' Student constructor    Public Sub New(ByVal firstNameValue As String, _       ByVal lastNameValue As String)       mFirstName = firstNameValue       mLastName = lastNameValue       mCount += 1 ' increment shared count of students       Console.WriteLine _          ("Student object constructor: " & mFirstName & _          " " & mLastName)    End Sub ' New    ' finalizer method decrements Shared count of students    Protected Overrides Sub Finalize()       mCount -= 1 ' decrement mCount, resulting in one fewer object       Console.WriteLine _          ("Student object finalizer: " & mFirstName & _          " " & mLastName & "; count = " & mCount)    End Sub ' Finalize    ' return first name    Public ReadOnly Property FirstName() As String       Get          Return mFirstName       End Get    End Property ' FirstName    ' return last name    Public ReadOnly Property LastName() As String       Get          Return mLastName       End Get    End Property ' LastName    ' property Count    Public Shared ReadOnly Property Count() As Integer       Get          Return mCount       End Get    End Property ' Count End Class ' Student