Java與C#的比較學習記錄(3)

來源:互聯網
上載者:User

1) 基本架構
     兩者的基本架構也差不多,Java:Java程式->Java位元組碼->JVM(JIT).DotNet:C#程式->CIL(通用中繼語言)->CLR(JIT).開始的時候Java的位元組碼是解釋執行的,但現在使用的是即時編譯技術,C#作為後來者,從一開始就採用了這種技術.就軟體的執行架構來說是基本相同的;
2)平台無關性:
     Java和DotNet的設計的目標都是平台無關的,但由於微軟的作業系統是其主要贏利來源,所以.Net的平台無關性還是大打折扣.不過後面的Java也很難講,畢竟被oracle收購後,有些東西會改變.
3)開發語言統一:
     在這方面Java的設計沒有包含這一目標,而dotNet從開始就致力於開發語言的統一,但這個不是java與C#的作為語言的區別,而是兩個體系的不同.Dotnet的這一優勢對於程式員來說還是比較有吸引力,至少減少了學習成本.但從另一個方面來說,Java和C#相互轉換的學習成本都不是很高.

4)基礎資料型別 (Elementary Data Type):Java的預定義基本類型要少很多,C#的多很多,但這個不妨礙正常使用.當然,由於C#是基於.net架構,其類型也是通用資料類型.由於兩者都是為跨平台而設計的,因此其資料類型的長度並不是實際佔用記憶體的大小.實際佔用記憶體大小取決於虛擬機器(JVM,CLR)和具體的機器類型(CPU字長).比如byte是8位,假設機器是32位的,你硬是將byte實現為8位,效率肯定會低些(每次取32位,然後通過計算分位元組來取).

 

這段時間比較忙,先更新到此,以後繼續.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.