JAVA-基础-包

java、javax、org、sun包都是jdk提供的类包,且都是在rt.jar中。rt.jar是JAVA基础类库(java核心框架中很重要的包),包含lang在内的大部分功能,而且rt.jar默认就在根classloader的加载路径里面,所以放在classpath是多此一举 。他们之间的区别具体如下:
java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包,它和java各有各的用处
java.*
java SE的标准库,是java标准的一部分,是对外承诺的java开发接口,通常要保持向后兼容,一般不会轻易修改。包括其他厂家的在内,所有jdk的实现,在java.*上都是一样的。java 是java j2sdk 中的类库,也就是Java Development kit 。 它提供也一些基础的东西,如io库、桌面程序的类库,如awt。集合库(如Collection、List、Map)。等这些最基础的类库

javax.*
也是java标准的一部分,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。如j2ee 中的类库,包括servlet,jsp,ejb,数据库相关的一些东西,xml的等。
所以以扩展的方式提供api,以避免jdk的标准库过大。当然某些早期的javax,后来被并入到标准库中,所以也应该属于新版本JDK的标准库。比如jmx,java 5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。

com.sun.*
是sun的hotspot虚拟机中java.* 和javax.*的实现类。因为包含在rt中,所以我们也可以调用。但是因为不是sun对外公开承诺的接口,所以根据实现的需要随时增减,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk实现中是没有的,调用这些类,可能不会向后兼容,所以一般不推荐使用。
posted @ 2023-02-02 21:25  Indullged  阅读(35)  评论(0编辑  收藏  举报