8008662: Add @jdk.Supported to JDK-specific/supported API

Joe Darcy joe.darcy at oracle.com
Fri Feb 22 19:19:48 UTC 2013

Hi Martin,

On 2/22/2013 6:06 AM, Martin Buchholz wrote:
> On Thu, Feb 21, 2013 at 6:16 PM, Joe Darcy <joe.darcy at oracle.com 
> <mailto:joe.darcy at oracle.com>> wrote:
>     However, the com.sun.* subpackages are a mix of APIs that are
>     supported as described above as well as APIs that are not supported.
> I was under the impression that the general rule was that all of 
> com.sun.* fell under the "jdk supported" umbrella, and the level of 
> support was the distinction between sun.com.* and sun.* .

Alan has previously replied on the varied supported-ness found in com.sun.*.

> In any case, it would be good if there was a single canonical place 
> that documented the various levels of support with subtle 
> distinctions, including java.* vs. javax.*, endorsed standards, 
> com.sun.* vs. sun.* vs. jdk.*, and recommendations for where 
> non-Oracle vendor extensions should go.  Is the jdk.Supported 
> annotation itself part of Java SE?

No, the jdk.Supported annotation type is part of the JDK (currently 
living in the langtools repo):


As you can see, the jdk.Supported type itself has a @jdk.Supported 
annotation :-)

> Should third-party vendor extensions that are "supported" for public 
> use by the third-party use jdk.Supported?

No; as I envision it, the jdk.Supported annotation is only meant to 
convey supported-ness in the JDK of parts of the JDK.

>  What about the X's in hotspot flags and the java tools command line 
> interfaces?

The policy around command line interfaces is unchanged; the interfaces 
are mostly stable, but the more X's are in a flags name, the less stable 
it can be.


More information about the core-libs-dev mailing list