❶ 簡述java語言的運行機制
簡單來說Java程序的運行機制
編寫、編譯、運行三個步驟。
運行機制 主要是指
編譯、運行的過程
1、編譯
Java編譯器對源文件進行錯誤排查的過程,編譯後將生成後綴名為.class的位元組碼文件。好讓JVM(java虛擬機)里的解釋器可以正常讀取。
2、運行
三步代碼的裝入、代碼的校驗和代碼的執行
2.1 、代碼的裝入
JVM控制解釋器中的「類裝載器」去讀取和裝載程序所需的類(class的位元組碼)。然後解釋器開始建立類與類之間的關系。
2.2、代碼的校驗
位元組碼校驗器進行檢查:校驗器可發現操作數棧溢出,非法數據類型轉化等多種錯誤。
2.3、代碼的執行
執行也分兩種情況
即時編譯方式:解釋器先將位元組碼編譯成機器碼,然後再執行該機器碼。
解釋執行方式:解釋器通過每次解釋並執行一小段代碼來完成Java位元組碼程 序的所有操作。
通常採用的是第二種方法。由於JVM規格描述具有足夠的靈活性,這使得將位元組碼翻譯為機器代碼的工作
本回答由電腦網路分類達人 化曉峰推薦
❷ 簡述JAVA程序的編輯編譯和運行過程
第一步(編譯): 創建完源文件之後,程序會先被編譯為.class文件。Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個被依賴的類,然後引用,否則直接引用,這個有點象make。
如果java編譯器在指定目錄下找不到該類所其依賴的類的.class文件或者.java源文件的話,編譯器話報「cant find symbol」的錯誤。
第二步(運行):java類運行的過程大概可分為兩個過程:1、類的載入 2、類的執行。需要說明的是:JVM主要在程序第一次主動使用類的時候,才會去載入該類。也就是說,JVM並不是在一開始就把一個程序就所有的類都載入到內存中,而是到不得不用的時候才把它載入進來,而且只載入一次。
特別說明:java類中所有public和protected的實例方法都採用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法<clinit>都是採用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時並不會用到。
(2)編譯運行機制擴展閱讀:
Java整個編譯以及運行的過程相當繁瑣,本文通過一個簡單的程序來簡單的說明整個流程。
Java代碼編譯:是由Java源碼編譯器來完成;
Java位元組碼的執行:是由JVM執行引擎來完成
Java程序從源文件創建到程序運行要經過兩大步驟:
1、源文件由編譯器編譯成位元組碼(ByteCode)
2、位元組碼由java虛擬機解釋運行。因為java程序既要編譯同時也要經過JVM的解釋運行,所以說Java被稱為半解釋語言( "semi-interpreted" language)。
❸ 推薦一些講解java運行機制編譯方式的書籍
《深入理解Java虛擬機》 作者:周志明
《Java程序性能優化》 作者:葛一鳴
《Java並發編程實戰》 機械工業出版社
❹ java的"一次編譯,到處運行"的機制是如何實現的
JVM是一個java虛擬機,所謂的java虛擬機就是和普通的虛擬機一樣,擁有自己的CPU,RAM之類的。我們所使用的操作系統是Windows的操作系統,Windows操作系統支持的可執行文件是EXE文件,也就是說在Windows的操作系統上只有EXE的文件是可以直接被操作系統解釋為底層機器語言並進行運行的。而java虛擬機可以支持的是.class的可執行文件,在java的虛擬機中遇到.class的文件就可以直接翻譯成java虛擬機所能是別的底層機器語言並進行執行。這就是JVM的機制,正是因為java的這種機制才實現了java的跨平台,在不同的平台上安裝能夠在相應平台上運行的虛擬機,然後在java虛擬機中運行java的源程序,「一次編譯,多次執行」就此實現了。
所以java的跨平台是離不開虛擬機的支持的。虛擬機充當著java源程序和操作系統之間的中間,不同的操作系統只需要尋找相應的中介就可以實現在不同的操作系統上運行。而java的編譯只是吧.java文件編譯為.class位元組碼文件而已,然後把位元組碼交給虛擬機去執行。
虛擬機在執行的時候是讀一句位元組碼文件人後解釋一句給操作系統聽,這就是為什麼java是解釋型的語言。
所謂的編譯型的語言是指這種語言被編譯之後生成的是可以直接供操作系統執行的010101文件,像C,C++都是編譯型的,java因為中間有JVM這么個東西所以是解釋型的。
❺ VB採用什麼編程方法和運行機制
VB有兩種版本,在6.0以前都是基於對象的,採用事件驅動的編程方式,其最終編譯的是和平台有關的本地代碼。
.NET版本後,VB是完全面向對象的,擁有豐富的類操作能力,同樣也是事件驅動的,其最終編譯的是基於CLR運行的託管代碼的中間層語言(IL)。
❻ java 的運行機制是什麼
簡單來說Java程序的運行機制
編寫、編譯、運行三個步驟。
運行機制 主要是指
編譯、運行的過程
1、編譯
Java編譯器對源文件進行錯誤排查的過程,編譯後將生成後綴名為.class的位元組碼文件。好讓JVM(java虛擬機)里的解釋器可以正常讀取。
2、運行
三步代碼的裝入、代碼的校驗和代碼的執行
2.1 、代碼的裝入
JVM控制解釋器中的「類裝載器」去讀取和裝載程序所需的類(class的位元組碼)。然後解釋器開始建立類與類之間的關系。
2.2、代碼的校驗
位元組碼校驗器進行檢查:校驗器可發現操作數棧溢出,非法數據類型轉化等多種錯誤。
2.3、代碼的執行
執行也分兩種情況
即時編譯方式:解釋器先將位元組碼編譯成機器碼,然後再執行該機器碼。
解釋執行方式:解釋器通過每次解釋並執行一小段代碼來完成Java位元組碼程 序的所有操作。
通常採用的是第二種方法。由於JVM規格描述具有足夠的靈活性,這使得將位元組碼翻譯為機器代碼的工作
❼ Java語言的運行機制
在分析程序語言的運行機制時,通常會討論兩種類型的程勛執行模式: 編譯行的程序語言和解釋性的程序語言。語言的編譯過程類似於日常生活中的翻譯——翻譯人員將一片文章翻譯從中文翻譯成英文,在過程中有批次處理和離線完成的特點。C語言就是這種類型的典型代表。解釋性語言就類似於國際上的「中英同傳」——在發言者將出中文的同時,對方的耳機就會有對應英文發言,此時的編譯就叫做同傳,在過程上有在線和及時的特點,BASIC語言就是這類典型的代表。
JAVA語言是一種變異性解釋性語言,同時具備編譯特性和解釋特性。作為變異性語言,JAVA程序要被統一編譯成位元組碼文件——文件後綴是class。此種文件在java中又稱為類文件。java類文件不能再計算機上直接執行,它需要被java虛擬機編譯成本地的機器碼後才能執行,而java虛擬機的翻譯過程則是解釋性的。java位元組碼文件首先被載入到計算機內存中,然後讀出一條指令,翻譯一條指令,執行一條指令,該過程被稱為java語言的解釋執行,是有java虛擬機完成的。而在現實中,java開發工具JDK提供了兩個很重要的命令來完成上面的編譯和解釋過程。兩個命令分別是java.exe和javac.exe,前者載入java類文件,並逐步對位元組碼文件進行解釋執行,而另一個命令則對應了java語言的編譯過程。在次序上,java語言是要先進行編譯的過程,接著解釋執行。