91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java語言與平臺有什么關系

發布時間:2020-04-24 09:57:38 來源:億速云 閱讀:313 作者:小新 欄目:編程語言

今天小編給大家分享的是java語言與平臺有什么關系,相信很多人都不太了解,為了讓大家更加了解java語言與平臺的關系,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。

java語言與平臺有什么關系

為什么說java語言與平臺無關?

一、平臺與機器指令

無論哪種編程語言編寫的應用程序都需要經過操作系統和處理器來完成程序的運行,因此這里的平臺是由OS和CPU所構成的,所謂的平臺無關就是指軟件的運行不會因操作系統、處理器的變化而無法運行或出現運行錯誤。

每個平臺都有自己獨特的機器指令,所謂平臺的機器指令就是可以被該平臺直接識別、執行的一種由0和1組成的序列代碼。相同的CPU和不同的OS所形成的平臺的機器指令可能是不同的

二、何為與平臺相關?

C/C++程序是依賴平臺的:C/C++源程序所在的特定平臺對其源文件進行編譯、鏈接,生成機器指令,即根據當前平臺的機器指令生成可執行文件,所以其可以在任何與當前平臺相同的平臺上運行這個可執行文件。但是,不能保證C/C++源程序所產生的可執行文件在所有平臺上都能正確的運行,其原因是不同平臺可能具有不同的機器指令。所以,一旦更換了平臺,就可能需要修改源程序,并針對新的平臺重新編譯源程序,也就是與平臺相關。

C/C++程序無法跨平臺的根本原因是C/C++源程序的編譯器針對平臺進行編譯,而不同的平臺有不同的機器指令,所以無法跨平臺。

三、Java為何可以跨平臺

C/C++之所以不能跨平臺,就是因為C/C++源程序是對平臺編譯的,所以與平臺密切相關。如果有這樣的一個環境:它既可以向下兼容(對平臺兼容),又可以向上兼容(程序可以運行),那么不就可以跨平臺了嗎。基于這樣的原理,Java在計算機的操作系統上又提供了一個Java運行環境——JRE(安裝JDK)。

JRE由Java虛擬機,類庫和一些核心文件組成,也就是說,只要平臺提供了Java運行環境,Java編寫的軟件就可以在其上運行。

和C/C++不同的是,Java語言提供的編譯器不針對特定的操作系統和CPU芯片進行編程,而是針對Java虛擬機把Java源程序編譯成稱為字節碼的“中間代碼”,然后Java虛擬機負責將字節碼翻譯成虛擬機所在平臺的機器碼,并讓當前平臺運行該機器碼。

Java語言的運行原理:

在一個計算機上編譯得到的字節碼文件(就是.class文件),可以復制到任何一個安裝了Java運行環境的計算機上直接運行。然后字節碼文件由虛擬機負責解釋執行,即Java虛擬機將字節碼翻譯成本地計算機的機器碼,然后將機器碼交給本地的操作系統運行。

由于在一個計算機上編譯得到的字節碼文件可以復制到任何一個安裝了Java運行環境的計算機上直接使用,所以字節碼其實是一種“中間代碼”,這也就是為什么“Java語言能夠一次編譯,處處運行,也就是Java跨平臺的原因。”所以稱Java是一種“半編譯,半解釋的語言”,即源程序——>編譯——>字節碼——>字節碼解釋程序——>對應平臺的機器語言。”

以上就是java語言與平臺有什么關系的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來億速云行業資訊!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

杭州市| 西贡区| 金湖县| 宁明县| 沅江市| 乐安县| 安顺市| 三门县| 昌都县| 芜湖市| 龙门县| 工布江达县| 应城市| 惠水县| 天长市| 广元市| 凭祥市| 沙坪坝区| 伊吾县| 信阳市| 西充县| 蓬安县| 丰顺县| 广东省| 嘉善县| 海宁市| 如皋市| 河间市| 昌吉市| 珠海市| 铜山县| 琼结县| 长治县| 彭山县| 正蓝旗| 武定县| 锦州市| 长宁县| 永寿县| 保亭| 东丰县|