Pro VB 2008 and the .NET 3.5 Platform

  • Authors
  • Andrew Troelsen

Table of contents

  1. Front Matter
    Pages i-xxx
  2. Introducing Visual Basic 2008 and the .NET Platform

    1. Front Matter
      Pages 1-1
  3. Core VB Programming Constructs

  4. Advanced VB Programming Constructs

  5. Programming with .NET Assemblies

  6. Introducing the .NET Base Class Libraries

  7. Desktop Applications with Windows Forms

    1. Front Matter
      Pages 881-881
  8. Desktop Applications with WPF

  9. Building Web Applications with ASP.NET

    1. Front Matter
      Pages 1213-1213
    2. Pages 1215-1259
  10. Back Matter
    Pages 1331-1377

About this book


The point of this chapter was to demystify the garbage collection process. As you have seen, the garbage collector will only run when it is unable to acquire the necessary memory from the m- aged heap (or when a given AppDomain unloads from memory). When a garbage collection does occur, you can rest assured that Microsoft’s collection algorithm has been optimized by the use of object generations, secondary threads for the purpose of object finalization, and a managed heap dedicated to host large objects. This chapter also illustrated how to programmatically interact with the garbage collector using the System. GC class type. As mentioned, the only time when you will really need to do so is when you are building finalizable or disposable class types. Recall that finalizable types are classes that have overridden the virtual System. Object. Finalize() method to clean up unmanaged resources (at some time in the future). Disposable objects, on the other hand, are classes (or structures) that implement the IDisposable interface. Using this technique, you expose a public method to the object user that can be called to perform internal cleanup ASAP. Finally, you learned about an of- cial “disposal” pattern that blends both approaches. PART 3 Advanced VB Programming Constructs CHAPTER 9 Working with Interface Types This chapter builds on your current understanding of object-oriented development by examining the topic of interface-based programming.


.NET ASP.NET LINQ SQL Visual Basic Web Services Windows XML computer science functional programming interfaces language programming software user interface

Bibliographic information