麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久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程序是不安全的,他們將變得無法移植,無法被很好地支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美日韩精品一区二区三区蜜桃 | 噜噜噜在线 | 黄网站在线免费 | 精品一区二区电影 | 大片毛片| 欧美一级淫片免费播放口 | 一级片999| 成人区一区二区 | 毛片免费一区二区三区 | 成人性生活视频在线观看 | 黄色片免费在线播放 | 在线播放免费人成毛片乱码 | 欧洲精品久久久久69精品 | 久久成人国产精品 | 草妞视频 | 中文字幕精品在线观看 | 人人看人人舔 | 日韩黄在线 | 毛片一区二区三区四区 | 黄色美女网站免费看 | 失禁高潮抽搐喷水h | 黄色影院在线看 | 五月婷婷第四色 | 国产做爰全免费的视频黑人 | 黄色免费在线视频网站 | 久久色伦理资源站 | 成人免费看视频 | 91精品国产综合久久久动漫日韩 | 精品成人av一区二区三区 | 国产成人精品免费视频大全办公室 | 免费在线观看成人av | 久久久日韩精品一区二区三区 | 黄色毛片免费看 | 久久久久国产一区二区三区不卡 | 欧美一级α | 成人福利软件 | av免费入口 | 国产91久久久久久 | 国产午夜亚洲精品午夜鲁丝片 | 久久久免费 | 久久久久久久国产视频 |