The last 4 months I’ve been busy with my research paper to finish my bachelors degree and the subject was to create a software product in Java that was able to create certain performance issues on servers running Java application servers.
That is a fun project because I’m always on the side where I have to monitor performance issues and solve the issues in the server.
What scared me a little was the fact how easy , with just a few lines of code, I was able create performane issues like a memory leak, CPU utilization, database issues etc.
It really hit me when I created the memory and CPU performance issues which I created within several minutes. Just create a large procedure that counts big figures and create a feature that add items to a hashtable but doesn’t remove them all.
Nowadays programmers tend to create objects in Java and as soon as they are no longer need them just forget about them and let the garbage collector resolve the objects.
I started programming in C and later on started with C++ where you had to be careful when to assign memory and when to resolve it.
Does the way Java takes care of memory, the garbage collector, make programmers lazy not to program procedures to take care of the used memory?