麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

為什么程序員不應調用“sun”包

2019-11-18 13:42:40
字體:
來源:轉載
供稿:網友

  為什么程序員不應調用“sun”包

J2SE API Documents是我們最常用的參考手冊,但細心的朋友可能會發現,在“%java_HOME%/jre/lib/rt.jar”中包含比API文檔更多的類,那么其它的類為什么沒有在幫助文檔中出現呢?在SUN的JDK FAQ中有一篇“Why Developers Should Not Write PRograms That Call ´sun´ Packages”,該文部分地解答了這個問題,我將原文翻譯如下

================================================================================

J2SE中的類大致可以劃分為以下的各個包:
java.*,javax.*,org.*,sun.*
除了“sun”包,其它各個包都是Java平臺的標準實現,并且今后也將被繼續支持。一般說來,“sun”之類的包并不包含在Java平臺的標準中,它與操作系統相關,在不同的操作系統(如Solaris,Windows,linux,Mac等等)中的實現也各不相同,并且可能隨著J2SE版本不定期變化。因此,直接調用“sun”包的程序代碼并不是100%的Java實現。

也就是說:
“java.*”包,“javax.*”包,“org.*”包是作為J2SE的API公開接口的一部分,假如程序直接調用這些包中的API,那么程序是可以運行在所有Java平臺上,而與操作系統無關;但“sun.*”包并不是API公開接口的一部分,調用“sun”包的程序并不能確保工作在所有Java平臺上,事實上,這樣的程序并不能工作在今后的Java平臺上。
正因為如此,“sun.*”包中的類并沒有提供API文檔。平臺無關性是Java語言最大的優勢之一,此外,SUN和Java許可證確保維持了今后API的向上兼容性(以后修改的那些有嚴重bug的代碼除外)。這種兼容性意味著你寫好的程序編譯成的cl ass文件仍然可以工作在將來的版本當中。

每家實現Java平臺的廠商都可以使用他們自己的方式。“sun.*”包中的類是SUN 對Java平臺的實現方式,它們工作在Java 2 SDK的下層,這些類未必被其它Java 平臺開發商支持。比如你的Java程序假如調用了一個名為“sun.package.Foo”的類,將有可能產生“ClassNotFoundError”的錯誤,同時你也將失去利用Java的一個主要的優點。

從技術上講,并不能防止你的程序調用“sun.*”包中的類。在版本的變遷當中,這些類可能會被刪除或轉移到其它包路徑下,而且它的接口(包括名稱、標簽等)也很有可能發生變化,(根據SUN的觀點,我們應當能夠通過對“sun.*”包的修改來提高Java平臺的性能。)在這種情況下,即便你希望程序僅僅運行在SUN的實現平臺下,你仍將承受新的版本給你的系統帶來破壞的風險??傊?,編寫依靠于“sun.*”包的Java程序是不安全的,他們將變得無法移植,無法被很好地支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: h视频在线观看免费 | 九九热久久免费视频 | 亚洲精品3 | 强伦女教师视频 | 国产精品视频六区 | 欧美不卡三区 | 久久精品99国产国产精 | fc2国产成人免费视频 | 蜜桃网在线 | 91真视频 | 福利在线小视频 | 国产精品视频1区 | 国产在线观看av | 91九色论坛 | 一级黄色免费 | 在线看一区二区三区 | 日本免费一区二区三区四区 | 欧美日韩国产综合网 | av手机免费在线观看 | 午夜激情视频免费 | 欧美a级大胆视频 | 999精品国产 | 久久国产精品免费视频 | 香蕉成人在线视频 | 久久超| 最新av在线免费观看 | www.国产一区.com | 日韩精品中文字幕一区 | 久久久久久久久久久久久久久久久久 | 中文在线观看视频 | 一级黄色毛片免费 | 国色天香综合网 | 免费在线观看午夜视频 | 在线播放黄色网址 | 久久蜜桃香蕉精品一区二区三区 | 精品国产一区二区三区四 | 精国产品一区二区三区四季综 | 亚洲一区二区三区视频免费 | 一级啪啪片 | 久久亚洲春色中文字幕久久 | 色淫网站免费视频 |