《Java瘋狂講義》(第3版)學習筆記 2 - Java語言的運行機制

來源:互聯網
上載者:User

標籤:

內容

1、進階語言的運行機制

2、Java 語言的運行機制

 

1、進階語言的運行機制

進階語言主要分為編譯型語言和解釋型語言兩類。

編譯型語言是指使用專門的編譯器、針對特定平台(作業系統)將進階語言原始碼一次性“翻譯”成該平台硬體執行的機器碼(包括機器指令和運算元),並封裝成該平台所能識別的可執行檔格式,這個轉換過程稱為編譯(Compile)。編譯產生的可執行程式可以脫離開發環境,在特定的平台下獨立運行。有些還需要連結其他編譯好的目標代碼

編譯型語言是程式在執行之前需要一個專門的編譯過程,把程式編譯成為機器語言的檔案,運行時不需要重新翻譯,直接使用編譯的結果就行了。程式執行效率高,依賴編譯器,跨平台性差些。如C、C++

解釋型語言是無需編譯,先翻譯成中間代碼,再由解譯器對中間代碼進行解釋運行。程式不需要編譯,程式在運行時才翻譯成機器語言,每執行一次都要翻譯一次。因此效率比較低,跨平台性較好。如Ruby、Python

2、Java 語言的運行機制

Java語言比較特殊,由Java語言編寫的程式需要經過編譯步驟,但這個編譯步驟並不會產生特定平台的機器碼,而是產生一種平台無關的位元組碼(也就是*.class檔案)。這種位元組碼必須通過解譯器執行。因此,Java程式的執行必須經過先編譯,後解釋兩個步驟,如所示

 

JVM(Java Virtual Machine,Java虛擬機器)負責解釋執行位元組碼檔案(*.class檔案)。Java編譯器不面向任何具體平台,只面向JVM。雖然不同平台下JVM是不同的,但它們都面對編譯器均提供相同的介面。Java編譯器產生的與平台無關的位元組碼,不能直接在不同的平台上運行,必須通過中間的轉換器(JVM)才能運行。

首先Java編譯器產生虛擬機器能理解的代碼(與平台無關的位元組碼檔案),然後虛擬機器解釋執行這些代碼。

JVM是Java程式跨平台的關鍵區段,只要為不同平台實現了相應的虛擬機器,編譯後的Java位元組碼就可以在該平台下運行。

JVM是一個抽象的電腦,和實際的電腦一樣,它具有指令集並使用不同的儲存地區。它負責執行指令,還要管理資料、記憶體和寄存器。

Sun公司制定的Java虛擬機器規範在技術上規定了JVM統一標準,具體定義了JVM的如下細節:

  • 指令集
  • 寄存器
  • 類檔案格式
  • 記憶體回收堆
  • 儲存區

Sun公司制定規範的目的是為了提供統一的標準,最終實現Java程式的平台無關性。

《Java瘋狂講義》(第3版)學習筆記 2 - 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.