This article on Netbeans.org discusses using the profiler bundled with the Netbeans IDE to detect memory leaks. By monitoring the surviving generations metric, one can supposedly catch a leak. I believe that this article ignores a certain situation.

Read the rest of this entry »

As described in my earlier post, I managed to get my hand-me-down Dell Dimension 8400 desktop working after a little tinkering and a lot of reading. I installed Ubuntu 7.10 and was up and running for a good week.

But, alas, my poor computer was destined for yet another crippling problem. One evening as I read the news, the cpu usage maxed out, and the computer was unresponsive. I believe Firefox was the only application open. Regardless, it was under a very light load.

After turning the computer off, I waited a few seconds, and then pushed the power button. Instead of booting from my Ubuntu partition, Grub presented me with a command line. I tried manually booting from the hard drive with no luck.

Read the rest of this entry »

It was only a matter of time before I needed a Thread-safe Map. Looking at the synchronization wrappers for the Java Collections framework, I couldn’t help but be disappointed. The wrapper classes provide external synchronization on the entire Collection. That means that any read or update method is locking — one thing in at a time. What a performance bottleneck!
Read the rest of this entry »