This content has been marked as final. Show 1 reply
None of this is official as far as I know, but Sun appear to follow a few very simple rules:
Proper use of namespaces - if you write code that relies on com.sun.* packages then that's your problem. Code which relies on java.* or javax.* and the rest of the public APIs will generally work from release to release.
Addition of new functionality is favoured over changes to, or deletion of, old functionality. For example, the nio classes did not result in the removal of the existing io classes.
Deprecated methods and classes are marked as such, but not removed for several release cycles.
I don't see why you would need to do anything more complex than follow these quite simple rules. Obviously you would need a suitable unit test suite to ensure that your API is consistent from release to release, but you should be doing that anyway.