Java.*和javax.*以及com.sun.*

java.* 是j2se的标准库,是java标准的一部分,是对外承诺的java开发的接口,通常要保持向后兼容,一般不会轻易修改。所有的jdk的实现(其他厂家的,在java.*上都是一样的)

javax.*也是标准,但是没有包含在标准库中,一般属于面向标准库的扩展,通常属于某个特定领域,不是一般性的api。所以以类似扩展的方式提供api,以避免jdk的标准库过大。但也不能排除某些早期的javax,后来并入到标准库中,所有也应该属于新版本JDK的标准库。比如jmx,jdk5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。

com.sun.*和org.omg.* 一般是sun的hotspot虚拟机中java.*和javax.*的实现类。但因为包含在rt中,所以我们也可以调用。但因为不是sun对外公开承诺的接口,所以根据根据实现的需要随时增减,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk实现中是没有的,调用这些类,会损失掉一些一致性和向后兼容性。

 

你可能感兴趣的:(java,jdk,J2SE,sun)