Every Java developer at some point comes across the following Exception and wonders what the strange numbers mean.
Exception in thread "main" java.lang.UnsupportedClassVersionError: java\SampleClass : Unsupported major.minor version 51.0
This happens when the class file has been compiled for a newer Java version than the version of the runtime, that is trying to load the class. But why the heck is it such a strange version number like 51.0 and what version of Java is this?
In the third part of the series about the Java Class File Format I take a look at the minor and major version information.