PDA

View Full Version : JDK versions and features for system administrators


kjkoster
20-07-2008, 20:08
Dear All,

Java has gone through many versions in its life and there is plenty of information on what developer feature was introduced in what version of Java. What I believe to be missing is a feature list from the point of view of a system administrator.

In this post I would like to give my view of Java versions and their ease of administration.

Java 1.0.* and Java 1.1.*
With JVM's this old, it is only possible to determine if the process is alive at the operating system level, or by checking a function it provides. Getting the classpath right is next to impossible. If you have to manage one of these, make sure you have no SLA's that call for support outside office hours, or for more action than restarting the process. Politely inquire for the application to be replaced or phased out. Keep you resume up-to-date.

Java 1.2.* (aka Java 2) and Java 1.3.*
They are easier to maintain, but still as a black-box process. Upgrading to Java 1.4 can be done without any danger, so talk to the developers to have the JVM for the application upgraded. If this is a third-party application requiring the old JVM, your vendor is so far behind the times that you must wonder about their quality as a supplier.

Java 1.4.*
Can be instrumented with JMX by a developer. That's all nice and somewhat useful, but the JVM is still mostly closed to monitoring more than just the basics. You can make the amount of free memory visible by writing a custom mbean to do so. Of course you may introduce application-specific mbeans to call pools and resources that the developers used in their code. Upgrading to Java 1.5 (or skip 1.5 and jump to the latest JVM version immediately) is desirable, but may take a little work. Doing so gives you and the developers in your company a better platform to work on.

Java 1.5.* (aka Java 5)
The first JVM version that is in any way manageable by anyone but an experienced Java developer. JMX comes built-in and the level of detail that the standard mbeans provide is a joy to work with. Upgrading to 1.6 can be done with no danger at all.

Java 1.6.*
All the goodness from 1.5, plus SNMP built-in to boot. An all new attachment API that is supposed to make management easier but that I have not actually looked at. In terms of manageability and stability, I'd say that this version of Java is the sweet spot.

Java 1.7.*
I have no idea. It's not out yet. :-)

Please feel free to disagree, to correct mistakes or give your own list.

Kees Jan