国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JAVA和.net的,區別

2019-11-02 15:20:43
字體:
來源:轉載
供稿:網友

   我們目前對.NET的理解大部分可以歸納為:起初它是Java平臺(注意是平臺,不要跟Java語言搞混淆)的一個克隆品,后來慢慢演變,有了自己的特性。由于Java平臺最顯著的特點就是“平臺獨立性”(或者說不知道誰發明的Write once,Run anywhere這個話)。理論上,你可以寫一個程序編譯完后,跑在任何一個安裝有JVM的操作系統上。大部分人認為.NET的出現是效仿Sun公司的這個偉大的概念——平臺獨立性,從而與Java抗衡。再后來又有一些人不知道從哪得出的結論說,就算有像Mono這樣的非Windows平臺.NET CLR,也有好多.NET程序不能移植到其他操作系統中,比如Winform幾乎不能通過Mono移植到Linux上去,因此得出一個駭人聽聞的結論:微軟連模仿都沒模仿完整,居然是偽跨平臺。

  以上就是目前我見過的最多的結論:.NET致命的弱點,就是它不是真正的跨平臺。為此,我有以下幾點說明:

  (1).NET平臺出現的意義不是支持跨平臺,它出現的目的只是優化傳統的Windows開發模式,使Windows開發更加方便快捷。它解決了COM時代的Dll Hell問題(.Net程序集版本控制),集成了多種語言(方便各種各樣的程序員),每種語言編寫的組件(程序集)之間可以毫無障礙地通訊,集合ob ject-Oriented和Component-Oriented于一體,你可以從一個組件(dll)中派生出一個新的類型而不需要該類型的所有源碼(這個UnManaged時代不可能有),真正的實現了二進制兼容性(你改動程序集中的某一個公開成員,如果使用這個程序集的客戶端程序沒有使用到這個公開成員,那么客戶端完全不需要重新編譯),提供C++中沒有的內存管理,支持異常處理等等。嚴格來說,微軟發布.NET的第一天就是為了它

五個字網名[www.la240.com/html2017/1/10/]
的Windows,就沒打算讓你寫的程序跑在其他操作系統之上(微軟到目前為止還沒有發布官方的非Windows平臺的.NET CLR)。

  (2)再說Java平臺和.NET兩者追求的目標,前者從出現開始就認為:在互聯網世界中,我要讓一種語言跑在任何一個操作系統中;而后者則認為:在互聯網世界中,我要讓所有的語言都跑在同一個操作系統中(Windows)。兩個平臺從一開始設計的目的就不一樣。

  (3)兩者強調的重點不同:

JAVA和.net的區別 電腦高手

  如上圖,紅色部分都是其他人擴展出來的功能。

  (4)上面3中所述,兩者平臺結構類似,我不清楚微軟到底有沒有剽竊Java,但可以肯定的是如果兩者東家原意,兩個平臺都是可以做到“跨平臺”和“支持多語言”的。 至于為什么說使用Mono還不能把有些.NET程序移植到Linux,這個很容易解釋,微軟本來就沒打算將.NET程序移植到其他平臺,.NET中包含的一些豐富框架都是與Windows緊密相關的,你使用了這些框架,是很難再把它們翻譯成非Windows平臺中可以執行的代碼。而且,Java也并不是完全的跨平臺,跟你開發實際用到的框架有關。出現以上不能移植的情況,關鍵有兩個地方,一個是你開發時使用的框架,一個是CLR(或者JVM),要看后者到底有沒有能力把前者翻譯成對應平臺的可執行代碼。

  綜上,兩個平臺的側重點不同,你覺得比較蘋果和香蕉哪個好吃有用嗎?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 藁城市| 繁昌县| 苏尼特左旗| 高陵县| 和龙市| 德令哈市| 象山县| 隆回县| 宜章县| 抚松县| 清流县| 呈贡县| 梁河县| 若尔盖县| 碌曲县| 锡林郭勒盟| 梁山县| 汾阳市| 台中市| 黑水县| 美姑县| 南溪县| 金湖县| 凤庆县| 普兰县| 汤阴县| 墨玉县| 晋州市| 深泽县| 崇左市| 弥渡县| 宁明县| 虞城县| 项城市| 藁城市| 吉水县| 甘谷县| 泽州县| 怀宁县| 安义县| 新野县|