2025-02-09

1、java語言編寫的程序需要經過編譯步驟,但是這個編譯步驟不會生成特定的機器碼,而是生成瞭一種和平臺無關的字節碼:*.class文件;
 
2、java既是一種編譯型語言,又是一種解釋性語言;這個主要是因為在編譯過程中生成的字節碼不可執行,必須要用到java的解釋器才能被執行;
 
3、java解釋字節碼的解釋器被稱為是Java虛擬機,也就是傳說中的JVM;
 
4、有個過程要註意:所有平臺上的JVM向編譯器提供相同的編程接口,而編譯器隻需要面向虛擬機,生成虛擬機能理解的代碼,然後由虛擬機來解釋執行;
 
5、執行java程序的步驟:首先我們寫好瞭java源程序,這個時候要用javac進行編譯,這裡的javac指的就是編譯器,編譯器生成瞭*.class文件,也就是字節碼,然後在java的解釋器JVM裡面解釋執行,生成特定平臺的機器碼;
 
6、總之是先編譯,然後再被解釋,最後才能被系統所識別;所以這裡也算是進一步的闡述清楚瞭java既是一門編譯型的語言,又是一門解釋性的語言;
 
7、Sun公司制定的Java虛擬機規范在技術上規定瞭JVM的統一標準:
   指令集、寄存器、類文件的格式、棧、垃圾回收堆、存儲區;
制定這些規范的目的是為瞭提供統一的標準,最終實現java程序的平臺無關性;
 
8、需要解釋一下何謂之java程序的平臺無關性:因為每個不同的平臺所提供的JVM是不一樣的,既然如此,我們在編譯的過程中所生成的java程序文件的字節碼經過JVM解釋之後就能被該平臺所讀取,所使用,所以java程序確實是與平臺無關的。
作者“黎黎原上草”

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *