RFR [9] 8150162: Move sun.misc.Version to a truly internal package

Chris Hegarty chris.hegarty at oracle.com
Thu Feb 18 15:52:39 UTC 2016

sun.misc.Version is the core libraries part of a private interface with the
JVM to query and set specific JVM version and capabilities, as well as
being responsible for setting the system properties for  "java.version”,
"java.runtime.version", and "java.runtime.name" ( which are generated
during the build ).

It is not a "Critical API", as defined by JEP 260, so should be moved
out of sun.misc and placed into a more appropriate package where it
can be encapsulated.

Version is only used by j.l.System during initialization, so I’ve taken the 
liberty of moving it into java.lang as package-private. It could, however,
be placed in jdk.internal.misc, if it is more generally useful. That said, 
most other usages should be able to use the JDK specific Version API.



P.S. 8150163 & 8150168 are in progress to replace unnecessary usages
of sun.misc.Version with the JDK specific Version.

More information about the core-libs-dev mailing list