Thursday, November 15, 2007
Taking Things for Granted
As a long time Java developer who has been recently working in C/C++ I have realized that there are a few things in Java that I really have taken for granted. The biggest thing by far has to be the automatic memory management. Most of the time we Java programmers don't even think about until there is a problem. And with modern JVM's the problems don't happen as often as they did back with the earlier JVM's so problems aren't as common. I always am interested to see how things work under the hood and lately the garbage collector is one thing I am having fun with. For one thing there are plenty of ways to configure it. To really use any of those configurations you really have to understand what is going and a good article to get started with is here at the IBM Developer Works.
So why is it really important to understand Java's garbage collection? Garbage collection can be the cause of one of those things that makes people say that Java is slow. One of the worst bugs I had to deal with was a serious performance problem on a large scale J2EE application and involved the garbage collector. The real bug was that someone was instantiating an incredible amount of short lived objects when they shouldn't have and this caused the garbage collector to use more and more of the CPU eventually causing disastrous slow downs of the application. This happened about 6 years ago and unfortunately some try people to lay blame to Java for things like this. But I know better, try and see what happens when you have to manage you own memory and abuse it (hint, much worse things happen than just a slow down!).
So why is it really important to understand Java's garbage collection? Garbage collection can be the cause of one of those things that makes people say that Java is slow. One of the worst bugs I had to deal with was a serious performance problem on a large scale J2EE application and involved the garbage collector. The real bug was that someone was instantiating an incredible amount of short lived objects when they shouldn't have and this caused the garbage collector to use more and more of the CPU eventually causing disastrous slow downs of the application. This happened about 6 years ago and unfortunately some try people to lay blame to Java for things like this. But I know better, try and see what happens when you have to manage you own memory and abuse it (hint, much worse things happen than just a slow down!).
Thursday, November 01, 2007
First Glance at Project Indiana
A very early release of Project Indiana is out over at OpenSolaris. I haven't really been paying close attention to it but it is impossible to ignore lately anywhere in the OpenSolaris forums. I just installed it to see what all the hype is about. The install went flawlessly on to VMware. My first gut reaction is that it looks like a blue version of Ubuntu. Obviously there are a few rough edges this being such an early release but I am really impressed at how good it looks so far. Something like this could really get more people interested in Solaris as a desktop.