熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

為什麼程序員不應調用“SUN”包?

2013-11-23 19:05:32  來源: Java核心技術 

  JSE中的類大致可以劃分為以下的各個包
    
  java*javax*org*sun*
    
  除了sun其它各個包都是Java平台的標准實現並且今後也將被繼續支持一般說來sun之類的包並不包含在Java平台的標准中它與操作系統相關在不同的操作系統(如SolarisWindowsLinuxMac等等)中的實現也各不相同並且可能隨著JSE版本不定期變化因此直接調用sun包的程序代碼並不是%的Java實現也就是說
  
  java*javax*org*包是作為JSE的API公開接口的一部分如果程序直接調用這些包中的API那麼程序是可以運行在所有Java平台上而與操作系統無關sun*包並不是API公開接口的一部分調用sun包的程序並不能確保工作在所有Java平台上事實上這樣的程序並不能工作在今後的Java平台上
    
  正因為如此sun*包中的類並沒有提供API文檔平台無關性是Java語言最大的優勢之一此外SUN和Java許可證確保維持了今後API的向上兼容性(以後修改的那些有嚴重bug的代碼除外)這種兼容性意味著你寫好的程序編譯成的cl ass文件仍然可以工作在將來的版本當中
  
  每家實現Java平台的廠商都可以使用他們自己的方式sun*包中的類是SUN 對Java平台的實現方式它們工作在Java SDK的下層這些類未必被其它Java 平台開發商支持比如你的Java程序如果調用了一個名為sunpackageFoo的類將有可能產生ClassNotFoundError的錯誤同時你也將失去利用Java的一個主要的優點
    
  從技術上講並不能防止你的程序調用sun*包中的類在版本的變遷當中這些類可能會被刪除或轉移到其它包路徑下而且它的接口(包括名稱標簽等)也很有可能發生變化(根據SUN的觀點我們應當能夠通過對sun*包的修改來提高Java平台的性能)在這種情況下即便你希望程序僅僅運行在SUN的實現平台下你仍將承受新的版本給你的系統帶來破壞的風險總之編寫依賴於sun*包的Java程序是不安全的他們將變得無法移植無法被很好地支持
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26250.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.