Java技術分享:Java的執行機制
初識Java,總感覺是一頭霧水,不知道該如何開始自己的學習。在開始之前,必要的理論基礎是不可少的,可以先了解一下,Java的執行機制,然後再寫個簡單的“hello world”!以下內容由小千分享。
簡單來說Java程式的執行機制分為編寫、編譯和執行三個步驟。
1.編寫
編寫是指在Java開發環境中進行程式程式碼的編輯,最終生成字尾名為“.java”的Java原始檔。
2.編譯
編譯是指使用Java編譯器對原始檔進行錯誤排查的過程,編譯後將生成字尾名為.class的位元組碼檔案,該檔案可以被Java虛擬機器(JVM)的直譯器正常讀取。
3.執行
執行是指使用Java直譯器將位元組碼檔案翻譯成機器程式碼,執行並顯示結果。位元組碼檔案是一種和任何具體機器環境及作業系統環境無關的中間程式碼,它是一種二進位制檔案,是Java原始檔由Java編譯器編譯後生成的目的碼檔案。程式設計人員和計算機都無法直接讀懂位元組碼檔案,它必須由專用的Java直譯器來解釋執行,因此Java是一種在編譯基礎上進行解釋執行的語言。
在執行Java程式時,首先會啟動JVM,然後由它來負責解釋執行Java的位元組碼,並且Java位元組碼只能執行於JVM之上。這樣利用JVM就可以把Java位元組碼程式和具體的硬體平臺以及作業系統環境分隔開來,只要在不同的計算機上安裝了針對於特定具體平臺的JVM,Java程式就可以執行,而不用考慮當前具體的硬體平臺及作業系統環境,也不用考慮位元組碼檔案是在何種平臺上生成的。JVM把這種不同軟硬體平臺的具體差別隱藏起來,從而實現了真正的二進位制程式碼級的跨平臺移植。JVM是Java平臺無關的基礎,Java的跨平臺特性正是透過在JVM中執行Java程式實現的。接下來了解一下Java的執行流程,如圖所示。
Java執行流程
圖中,從編寫出來的Java原始檔,到編譯為位元組碼檔案,再到透過JVM執行程式,然後將程式的執行結果展示給使用者,這是一個完整的Java執行流程。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2771633/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java的執行機制Java
- Java的執行機制分析!Java
- java程式的執行機制Java
- 淺聊java執行機制Java
- 小程式技術科普:執行機制&安全機制
- java synchronize - 執行緒同步機制Java執行緒
- Java 虛擬機器之二:Java語言的執行機制Java虛擬機
- Java 技術之類載入機制Java
- Java核心技術,讓計算機"一芯多用"的多執行緒技術Java計算機執行緒
- JAVA多執行緒與鎖機制Java執行緒
- Java程式執行記憶體機制Java記憶體
- Java高階-解析Java中的多執行緒機制(轉)Java執行緒
- 解析Java的多執行緒機制(2)(轉)Java執行緒
- 解析Java的多執行緒機制(1)(轉)Java執行緒
- java框架基礎技術之--------反射機制Java框架反射
- java核心技術筆記--執行緒Java筆記執行緒
- java多執行緒系列之future機制Java執行緒
- Java多執行緒4:synchronized鎖機制Java執行緒synchronized
- Java多執行緒17:中斷機制Java執行緒
- Java 執行緒間通訊 —— 等待 / 通知機制Java執行緒
- 【Java基礎】執行緒和併發機制Java執行緒
- 深入分析Java執行緒中斷機制Java執行緒
- Java技術分享:Java基本資料型別Java資料型別
- Java虛擬機器執行機制與相關概念Java虛擬機
- 帶你學 Java 技術之動態代理機制Java
- Java核心技術梳理-類載入機制與反射Java反射
- Java 基礎與提高幹貨系列—Java 反射機制 | 掘金技術徵文Java反射
- Java 多執行緒乾貨系列—(一)Java 多執行緒基礎 | 掘金技術徵文Java執行緒
- 淺析Java多執行緒程式設計機制Java執行緒程式設計
- 深度解析Java執行緒池的異常處理機制Java執行緒
- Java技術分享之變數命名Java變數
- Java技術分享:NIO實戰教程!Java
- Java併發技術05:傳統執行緒同步通訊技術Java執行緒
- java反射機制之Method invoke執行呼叫方法例子Java反射
- 跟著GPT學習Java執行緒中斷機制GPTJava執行緒
- 求JAVA多執行緒技術的電子版書籍Java執行緒
- 深入理解多執行緒(五)—— Java虛擬機器的鎖優化技術執行緒Java虛擬機優化
- java的static塊執行時機Java