JAVA跨平台的個人理解

來源:互聯網
上載者:User

對於JAVA的跨平台和C的可移植性,一直存在疑惑,這裡說說個人理解

1.C的可移植性需要在不同的作業系統上多次編譯成不同的目標代碼,甚至需要為不同的作業系統編寫不同的代碼,而JAVA因為有JVM的支援,就免去了這個麻煩

2.JAVA的跨平台是一次編譯,依託JVM可以到處運行

引用在論壇上看到一位仁兄的發言,覺得很有道理

在java之前,跨平台是很痛苦的事情,主要是因為所有對於系統的調用,在不同的作業系統下結果都不一樣,簡單的來說,int的長度在不同作業系統裡面就不一樣,甚至於連位元組排列的順序都不同。調用同一個函數返回的格式也不同,因此,寫程式的人自己要對不同的系統非常瞭解,如果真的需要對不同作業系統進行相容,要在程式裡面寫很多if,編譯的時候要先判斷使用的作業系統,創造很多環境變數才能編譯,而且編譯好的二進位可執行檔只能在本系統上運行。如果你寫的是個功能庫供別人調用的,那麼光對作業系統的判斷就佔了代碼的絕大部分,而且,還要你在不同平台下進行測試,這可是個艱苦卓絕的工作。建議你有空可以看看apache httpd伺服器的原始碼就知道了。 

自從有了java之後,就把作業系統相容的工作丟給了jvm了,對於程式員來說就再也不要關心int有幾位,還有高位在前還是地位在前的問題了,你只要用java的代碼把你程式的邏輯實現出來就可以了,這些相容的問題就交給jvm去處理吧。這樣,如果你寫一個程式交付給客戶使用,如果客戶的環境是運行AIX的,你就不需要在本地也裝一個AIX來開發和運行,你可以在windows上完成所有的開發,然後把編譯好的檔案交給客戶就可以了,以後有別的客戶需要在Solaris上運行這個程式,你都不用修改,直接拿過去就可以運行,這難道不是一種方便嗎?只有被跨平台開發折磨過的人才能更深得體會到用java開發跨平台應用的優勢。

另外再引用一段對於PHP跨平台的理解

我用PHP的時間不算太短,才4年左右,現在基本上不用了,改用JAVA了 

並不是因為PHP不好,我個人很喜歡PHP 

但是我的寫的程式中很多是需要在M$和Linux兩個平台上搬來搬去用的(因為我無法限制使用者的平台) 

如果用PHP的話,很多擴充在兩個平台上不見得通用,甚至有的不支援 

為了一個程式寫兩個版本,或者在程式中寫大量的判斷,我想我的時間和精力不夠用了 

改用java,只需要在運行平台上安裝相應的jvm, 我只管我的程式能否正確的運行,剩下的我就不用管了,多省事

btw: 
並不認為JAVA是萬金油,什麼地方都可以用,只是認為能省點事幹嘛不省點?? 反正現在機器配置都不錯,運行效能差點沒關係吧 :-)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.