3 points
*
That’s entirely the fault of applications (or more likely their libraries) using internal APIs or JNI. As long as it isn’t doing anything screwy with reflection and class loading or using the sun.*
packages that aren’t part of the language specification, Java bytecode compiled for ancient Java versions will still work on modern versions.