"What's wrong, Uncle John?" I hadn't realized how my facial expressions were
illustrating my inner feelings. I had been working on a new coding project,
and as I worked I became more and more amazed by the native memory management
provided by .NET. It seemed that almost by magic the runtime was able to
figure out which objects were no longer needed and which should hang around,
and - yet more amazing - it could even call special cleanup routines.
"Nothing is wrong, Marissa; I just wish I had time to dive into the automatic
memory management features of .NET," I replied hastily. Honestly, what could
a five-month-old baby possibly know about the intricacies of garbage
collectors and memory management?
"Is that all?" she replied. "The .NET garbage collector is rather easy to... (more)
When you run a .NET application, do you ever wonder about what goes on "under
the hood?" Starting with a simple "Hello World" application, we will see
exactly what happens when you compile your source code to IL. Next, we will
trace the progress of the IL through the runtime as it executes. Finally, we
will examine the complexities surrounding external dependencies and Code
Access Securi... (more)
From the perspective of most programmers, the ability to raise an exception
is typically a rather straightforward set of semantics that allows your
program to react to an unexpected situation. But as with most things related
to .NET, there are a variety of under-the-covers "happenings" that allow your
particular programming language to implement a common service without
sacrificing the ... (more)
When we left Marissa last month she was getting rather cranky, but now she is
well rested and ready to get down to business. And that business is how
Microsoft .NET manages memory through the use of what is commonly known as
the garbage collector or GC. In the first article in this series [.NETDJ,
Vol. 1, issue 8] we discussed some of the basic concepts behind the garbage
collector. If y... (more)
In Part 1 of this series (.NETDJ, Vol. 1, issue 12) we explored some basic
background in regard to .NET threading. We explored concepts related to
threads in general, their appropriate usage, and how to work with the thread
pool in .NET as an alternative to managing our own threads. This month we
will build on what we know and dive deeper into .NET threading. We have a lot
to cover, so l... (more)