10.04.2012

Here is an
interesting article for those of should who have been following remotely the
JavaOne 2012 conference. A recent interview with the Java Champion Heinz Kabutz
was brought to my attention; including his Java memory puzzle program which was
quite instructive from a Java memory management perspective.

One
particular section of the interview captured my attention: things Java
developers should know and currently do not. Heinz made some really good points
in his interview.

This
article will revisit and expand a few of those today.

Heinz is
also sharing his concerns regarding the removal of the HotSpot VM PermGen space
which is now targeted more for the Java 8 release.

Java concurrency principles: should you care
or not?

As Heinz
pointed out, this is often a topic that some Java developers prefer to avoid. Unless
you are developing a single thread main program, you do have to worry about
thread concurrency and all the associated problems. As a Java EE developer,
your code will be running within a high concurrent threads environment. Simple Java
coding mistakes can expose your code to severe thread race conditions, stability and performance problems. Lack of
key thread knowledge can also prevent you to properly fine tune the Java EE
container thread pool layer.

Next Heinz’s
recommendation is to acquire deeper knowledge of your Java IDE environment.
This tip may sound obvious for some but you would actually be surprised how
many Java developers can quickly “plateau” with their IDE usage and productivity.
Such “plateau” is often due to a lack of deeper exploration of your IDE shortcut keys and capabilities.

This
article from DZone is a nice starting point to learn useful shortcuts if using the
Eclipse IDE.

Java memory management: learn how to read GC
logs

Last but
not the least: learn how to read GC logs. This is my favorite of all Hein’s
recommendations.

Let's be honest here, It will
take time before you can acquire about just half the knowledge of Java Champions
such as Kirk Pepperdine but starting to analyze and understand your application
GC logs and the Java memory management fundamentals is a perfect place to start.

10.01.2012

This post
is to inform you that that I will be reviewing and commenting the most
pertinent JavaOne™ 2012 sessions for the next few weeks. JavaOne™ is an annual
conference to discuss Java related technologies among Java developers;
including trends, emergencies technologies, best practices etc.