Java中的java、javax、sun、org包有什么區別


java、javax、org、sun包都是jdk提供的類包,且都是在rt.jar中。rt.jar是JAVA基礎類庫(java核心框架中很重要的包),包含lang在內的大部分功能,而且rt.jar默認就在根classloader的加載路徑里面,所以放在classpath是多此一舉 。他們之間的區別具體如下:

    java.*
    java SE的標准庫,是java標准的一部分,是對外承諾的java開發接口,通常要保持向后兼容,一般不會輕易修改。包括其他廠家的在內,所有jdk的實現,在java.*上都是一樣的。

    javax.*
    也是java標准的一部分,但是沒有包含在標准庫中,一般屬於標准庫的擴展。通常屬於某個特定領域,不是一般性的api。
    所以以擴展的方式提供api,以避免jdk的標准庫過大。當然某些早期的javax,后來被並入到標准庫中,所以也應該屬於新版本JDK的標准庫。比如jmx,java 5以前是以擴展方式提供,但是jdk5以后就做為標准庫的一部分了,所有javax.management也是jdk5的標准庫的一部分。

    com.sun.*
    是sun的hotspot虛擬機中java.* 和javax.*的實現類。因為包含在rt中,所以我們也可以調用。但是因為不是sun對外公開承諾的接口,所以根據實現的需要隨時增減,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk實現中是沒有的,調用這些類,可能不會向后兼容,所以一般不推薦使用。

    org.omg.*
    是由企業或者組織提供的java類庫,大部分不是sun公司提供的,同com.sun.*,不具備向后兼容性,會根據需要隨時增減。其中比較常用的是w3c提供的對XML、網頁、服務器的類和接口。

原文地址:https://blog.csdn.net/ooppookid/article/details/51704792


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM