Java的特點之一——跨平台

來源:互聯網
上載者:User

標籤:重新編譯   編譯   nbsp   相同   style   isp   com   size   軟體   

    Java出現之前,C和C++是當時廣泛使用的程式設計語言。但是C和C++都有一個共同的缺點,那就是只能在特定的平台進行編譯。這裡指的平台是由作業系統(OS)和處理器(CPU)構成的。C和C++來源程式所在的特定平台對其源檔案進行編譯、串連,產生當前平台的機器指令(平台的機器指令可以被該平台直接識別和執行),根據當前平台的機器指令產生可執行檔。那麼,在任何與當前平台相同的平台上都可以運行這個可執行檔。但每個平台都會形成自己獨特的機器指令,相同的CPU和不同的作業系統所形成的平台的機器指令可能是不同的。假如電器的裝置更換了,平台就不能保證程式能正確運行。這個時候可能需要修改來源程式,並針對新的平台重新編譯來源程式。而Java最大的優勢就是編寫的軟體能在所有的電腦上運行。之所以能做到這一點,是因為Java可以在電腦的作業系統之上再提供一個Java運行環境(Java Runtime Environment--JRE),該運行環境是由Java虛擬機器(Java Virtual Machine--JVM)、類庫以及一些核心檔案組成。Java虛擬機器的核心是位元組碼指令(位元組碼指令可以被Java虛擬機器直接識別和執行),位元組碼指令不是機器指令,因此它不與特定的平台相關。而Java針對不同平台提供的Java虛擬機器的位元組碼指令是相同的,先看看Java程式的運行過程:

    Java語言提供的編譯器不針對特定的平台進行編譯,而是針對Java虛擬機器編譯成位元組碼(稱為“中間代碼”),位元組碼被Java虛擬機器(Java解譯器是Java虛擬機器的一部分)解釋、運行。Java虛擬機器將位元組碼翻譯成本機電腦的機器指令,並將機器指令交給平台運行。

 

    是本篇部落格的整理。為了更方便清晰的理解,我們可以腦補一個劇場:維奇多去了英國留學,憑藉流利的英語和英俊的外表,他認識了很多英國朋友。有一天,他遇到了一個充滿羅曼蒂克風情的法國美女。但很可惜,他不會法語,她不會英語,所以他們無法交流。橙汁是一個富二代,雖然他只會中文,但是他有錢,僱傭了一個萬能翻譯官,一起環遊世界美滋滋呀無壓力呀。

    腦補完劇情,有沒有更好的協助你理解呢?總之,只要平台提供了Java運行環境,用Java編寫的軟體就能在其上運行。

    本劇終。

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.